Stable Release: Xamarin Studio 5.9.7, iOS 9.0 upstream release

BrendanZagaeskiBrendanZagaeski USForum Administrator, Xamarin Team Xamurai

Windows

N/A

Mac

  • XamarinStudio-5.9.7.9.dmg (31fa647)

Reason for release: Updated SDK bindings and compatibility support for upstream iOS 9.0 and Xcode 7.0 Final versions.

Release notes: http://developer.xamarin.com/releases/studio/xamarin.studio_5.9/xamarin.studio_5.9/

Date published: See https://releases.xamarin.com/.

Previous versions, downgrading

You can downgrade back to the previous Stable version by manually reinstalling each old package. See the KB article on downgrading. If you have a Trial or Starter subscription (or simply would prefer an email with all the installer links you need), feel free to contact hello@xamarin.com to request the older versions.

Older Mono package versions are not currently listed on https://store.xamarin.com/account/my/subscription/downloads. The Mono package for the previous Stable version ("Service Release 4") is available here:

Guidelines for this thread

  1. This first post will be updated regularly.

  2. The goal of this thread is to help answer "what might break if I update to this release?"

  3. If you find a new problem that is specific to this version:

    a. If you can share some specific error messages or can reproduce the problem consistently, please email the information you have so far to contact+xamarinios9.0@xamarin.com.

    b. If you only have a general description of the problem, you can post it directly on this forum thread so that hopefully a member of the Xamarin team or another user will recognize it and be able to help fill in some details.

New known issues in this release, with more common or severe issues near the top

Many of these issues are fixed in the follow-up "service release" now available on the Beta updater channel.

  • Bug 33124 - [iOS] Certain libraries that were compiled by the Microsoft C# 5 compiler (VS 2013) cause "error MT2001: Could not link assemblies. Reason: Can't not find the nested type" during the linking phase of the Xamarin.iOS build process. (For example, any library compiled by VS 2013 that uses an async lambda within a constructor will hit this problem.) Unfortunately this problem affects several existing NuGet packages and Components. Now hotfixed in the Stable channel.

  • Non-public Bug 31424 - [Xamarin Studio] [iOS] Classic API on Mac only: "Resource rules files "" not found". Now fixed in the Beta channel. (Old partial workaround: Enable "Project Options -> General -> Use MSBuild build engine (unsupported for this project type)" and clean and rebuild the project. (The MSBuild build engine does now work for many Classic API projects.))

  • Non-public Bug 34173 - [iOS] [Designer] Storyboard fails to load in designer with "There was a problem parsing the XML" for storyboards that contain a <constraint> element with an attribute of multiplier="0". Workarounds: Open the storyboard in Xcode Interface Builder and re-save it from there. Or edit the storyboard in a text editor and manually remove the multiplier="0" attribute.

  • Bug 34220 - [iOS] The new iOS 9 ReplayKit APIs currently hit an error: "Cannot cast from source type to destination type". Now fixed in the Beta channel.

  • Bug 34205 - [iOS] Changes to WatchKit app storyboards do not appear on the simulator after the first deployment. Workaround: Manually delete the app from the iPhone simulator before re-deploying.

  • Bug 34186 - [iOS] "MTOUCH: error MT5212: Native linking failed, duplicate symbol" and "Duplicate symbol in: ... libmonotouch-sgen.a" errors appear if using the -all_load linker flag under "Additional mtouch arguments". Now fixed in the Beta channel. (Old partial workaround: remove the -all_load liker flag.)

  • Non-public Bug 33706 - [iOS] Storyboards produce many warnings similar to: "/Applications/Xcode-beta.app/Contents/Developer/usr/bin/ibtool: 2015-09-04 18:01:03.651 Interface Builder Cocoa Touch Tool[72838:13678534] CoreUI: CUICatalog: couldn't get 'kMGArtworkGraphicsFeatureSetClass' from MGCopyAnswer got '{ (CollectionView)". These warnings can be ignored for now. The problem is that Xamarin is currently surfacing diagnostic messages from ibtool that are not surfaced by the default Xcode build process. Now fixed in the Beta channel.

  • Non-public Bug 34083 - [Xamarin Studio] [iOS] Install error message from iOS device logs: "0xe8008017 (Signed resources have been added, removed, or modified)". Xamarin Studio's "Archive for Publishing" feature does not currently work correctly for Xamarin.iOS 9 apps. It incorrectly removes a symlink for the application .exe, invalidating the Sealed Resources in the code signature. This is known to cause problems when installing apps from HockeyApp, and is likely to cause problems in other situations too. (The problematic symlink is a new feature of Xamarin.iOS 9.) Now fixed in the Beta channel. (Old workarounds: Option A: Follow the steps under "For command line builds on Mac" to build the IPA as part of the build process rather than using the "Archive for Publishing" workflow. Option B (advanced): manually add back the symlink.)

  • Bug 34054 - [Xamarin Studio] [iOS] Under certain conditions resuming from a breakpoint when debugging will cause a dialog box to pop up that asks "Where is iOS Simulator?" Now fixed in the Beta channel. (Old temporary workaround: Dismiss the dialog each time it appears.)

  • Non-public Bug 33695 - [iOS] Attempting to install a new version of an application on device using a different provisioning profile from the original install is not supported by Xcode 7. Unfortunately, the corresponding error message produced by Xamarin does not describe the problem clearly: "error MT1006: Could not install the application ... on the device ... Application Verification Failed Error (error: 0xe800003a)." This error message will be improved in a future release. Workaround: Manually uninstall the app from the device and try installing it again.

  • Non-public Bug 33880 - [Upstream] [iOS] Attempting to stop a WatchKit app in Notification mode does not stop the app. (The same problem occurs with an Objective-C or Swift app deployed from Xcode, so this is an upstream issue.) Workaround: Kill the app manually.

  • Non-public Bug 33847 - [Xamarin Studio] [iOS] The iOS device and simulator names are cut short in the device selector menu in Xamarin Studio. Workaround: Switch to a different application and then back to Xamarin Studio.

Important changes introduced by Xcode 7 and iOS 9

See also: https://developer.xamarin.com/guides/ios/platform_features/introduction_to_ios9/troubleshooting/ and http://developer.xamarin.com/guides/ios/platform_features/ios9

  • [iOS] [Designer] The Xamarin iOS designer does not yet support Xcode 7 features. Storyboards will fail to load in designer with "There was a problem parsing the XML" when attempting to use new iOS 9 (Xcode 7) designer elements such as StackView. iOS designer support for Xcode 7 features is targeted for the upcoming Cycle 6 feature release. (The preview version of Cycle 6 is currently available in the Alpha channel.) Partial workaround for Xamarin Studio: Right-click the storyboard and choose "Open With -> Xcode Interface Builder".

  • [Upstream change] [iOS] Xcode 7 produces new warnings similar to: "warning MT5203: Native linking warning: warning: object file ... was built for newer iOS version (8.1) than being linked (8.0)". This is a new warning introduced by Xcode 7 to help app developers avoid potential problems that were silently allowed in Xcode 6. It affects Objective-C and Swift apps too. The warning message is accurate. For example, if you want to set the minimum version of your app to iOS 8.0 then you should not link against libraries that were compiled using the iOS 8.1 toolchain. Otherwise you risk running into compatibility issues (or missing symbols). In other words, Apple does not guarantee that a library compiled against iOS 8.1 will work when linked into an application targeting iOS 8.0 or earlier. Options for how to fix: (a) if the library does not require the newer APIs, recompile it for the lowest API level you wish to support, or (b) if the library does require the newer APIs, the proper fix is to set the minimum supported version of the app to 8.1. Ways to silence the errors (not recommended): pass the "-w" option to the linker using the "Additional mtouch arguments" in the project options.

  • [Upstream change] [iOS] iOS 9 has stricter requirements for setting a RootViewController. "Objective-C exception thrown. Name: NSInternalInconsistencyException Reason: Application windows are expected to have a root view controller at the end of application launch". Possible workaround: Set the Window.RootViewController property in the AppDelegate.FinishedLaunching() method. (See the troubleshooting guide for additional details.)

  • [Upstream change] [iOS] "Could not find a paired Watch device for the iOS device". By default Xcode 7 ships with 38mm and 42mm WatchOS simulators paired with the iPhone 6 and iPhone 6 Plus simulators respectively. However the default iPhone 5 and iPhone 5s simulators are not paired with any Watch simulator. To add an iPhone 5 simulator that is paired with a WatchOS simulator, open "Window -> Devices" in Xcode, then press the "+" button to add new simulator. In the "Create a new simulator" window select the desired "Device Type" and then add the desired Apple Watch simulator version under "Paired Apple Watch".

  • [Upstream change] [iOS] "App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file." (See also Apple's corresponding tech note.). One way to workaround: Add an NSAppTransportSecurity key to the Info.plist. Under that key, add a dictionary that contains a single NSAppTransportSecurity key set to true: <key>NSAppTransportSecurity</key><dict><key>NSAllowsArbitraryLoads</key> <true/></dict>.

  • [Upstream change] [iOS] Starting in iOS 9, initialization code within UIView subclass IntPtr constructors will not run when the view is initialized from a XIB file. See http://developer.xamarin.com/guides/ios/platform_features/ios9/#UIView_fails_to_init_with_coder_when_loading_a_view_from_a_XibNib for additional details and workarounds.

New issues in the Beta builds reported by users

  • Forum discussion 50492 - [Xamarin Studio] [iOS] "/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS/Xamarin.iOS.Common.targets: error : Error executing task DetectSdkLocations: Task does not have property "TargetFrameworkIdentifier" defined". Possible workarounds: Reboot the Mac. If that doesn't work, try reinstalling Xamarin.iOS.

Fixes for known issues from recent release threads

  • Bug 31379, Bug 31560 - [iOS] Enabling the linker when the app references PCL projects that include "duplicate" System.Threading.Tasks references (for example when using the "Microsoft.Net.Http" NuGet in a .NET 4.0 PCL) causes "Could not load file or assembly 'System.Threading.Tasks'" on the simulator. This bug has in fact existed since the original April 29 release of Cycle 5, but until Service Release 2 it had been obscured by the closely related Bug 29211. The bug only affects simulator builds and has fairly easy workarounds, so it is minor in severity. Workarounds: disable the linker in the iPhoneSimulator configurations or add -linkskip=System.Threading.Tasks under "project options -> iOS Build -> Additional mtouch arguments".

Remaining known issues from recent release threads

Except for the "Fixes" mentioned above, the remaining known issues from the release threads are unchanged compared to Cycle 5 – Service Release 4.


EDIT Sep 18: Add iOS Bug 33124. Add Xamarin Studio Bug 34083.
EDIT Sep 21: Update Bug 33124 about candidate fix. Additional update: the fix is now on the Stable channel.
EDIT Sep 22: Add iOS Bugs 33706, 34502. Add Xamarin Studio Bug 34054. Add iOS designer Bug 34173. Add known iOS designer limitation with StackView.
EDIT Sep 23: Add iOS Bug 34186.
EDIT Sep 24: Add iOS Bug 34205. Add iOS Bug 34220.
EDIT Sep 29: Indicate bugs now fixed on Beta channel (31424 34052 34224 34163 34202 34144 34220 34186 33706 34083 34054).

Posts

This discussion has been closed.