As announced on Apple’s developer news site, Apple has just released Xcode 8.2 final.
Xamarin is proceeding as usual to test for compatibility and publish an updated version of Xamarin.iOS for any modified or new APIs in Xcode. Keep an eye on this blog for status updates.
UPDATE: Corresponding new builds of Xamarin.iOS, Xamarin for Visual Studio, and Xamarin Profiler are now available. More info can be found here.
As announced on Apple’s developer news site, Apple has just released the Xcode 8.1 GM seed.
Due to a few changes in the Xcode 8.1 GM version as compared to the previous Beta, Xamarin recommends against updating to Xcode 8.1 GM until a corresponding Xamarin compatibility release has been provided. Work is in progress to publish the core compatibility changes needed. The fixes for 45676 and 45855 are particularly important to make it straightforward to deploy to iOS devices and simulators without tricky workarounds. New builds will tentatively be available before the end of the week.
Higher visibility known issues
- [Xamarin for Visual Studio] – 45676 – “Failed to launch the simulator: Could not load the framework ‘libswiftAppKit.dylib’ … Library not loaded: @rpath/libswiftQuartzCore.dylib” when attempting to launch iOS 10.1 simulator.
- [Xamarin.iOS] – 45855 – “Failed to launch the simulator: Could not load the framework ‘libswiftos.dylib’ (path: /Applications/Xcode.app/Contents/Frameworks/libswiftos.dylib): not found.” when attempting to launch iOS 10.1 simulator. Note: The public bug report mentions a fairly simple although inelegant workaround.
- 45859 – “Error MT0074: Xamarin.iOS 10.0.2 does not support a deployment target of 10.1 for iOS (the maximum is 10.0).” when attempting to build a new template project that uses the new default deployment target of 10.1
- Workaround: Open the Info.plist file in the plist editor and change the deployment target to 10.0 or lower instead of 10.1.
- [Xamarin Studio], [Xamarin for Visual Studio] – 45861, 45862 – “May Slow Down Your iPhone … The developer of this app needs to update it to improve its compatibility.” because of default “i386” supported architecture setting in the iPhoneSimulator configuration on new projects
- Fix: Change Project options > iOS Build > Supported architectures to x86_64 (instead of the default i386) for the iPhoneSimulator configuration.
- [Xamarin.iOS] – 45899 – “error HE0035: Could not find a paired iPhone device for the Watch ‘watchOS 3.1 (14S471a) – Apple Watch – 42mm’ (C64439C5-9D9C-4B5C-B3B5-F77BBAA5B669)” when attempting to launch watch app on series1 sim
Intentional changes in Xcode 8.1 itself
As usual, be sure to also check the upstream release notes.
- “May Slow Down Your iPhone … The developer of this app needs to update it to improve its compatibility.” alert dialog will be displayed when 32-bit applications are launched on 64-bit devices and simulators.
- Fix: Be sure to configure your project to provide a 64-bit build for 64-bit devices.
Edits on this post
- Oct 25, 2016: Add Bug 45899.
Version “24” of the Android SDK Build-tools package contains an upstream bug in aapt that can cause at least 2 errors:
- ””aapt.exe” exited with code -1073741819″ (This error can also appear if the Android SDK Build-tools version is not compatible with the installed version of Xamarin.Android. But in this particular case the error is due to the upstream bug.)
- “The file “obj\Debug\android\bin\packaged_resources” does not exist.”
This bug has been fixed in Android SDK Build-tools 24.0.1.
Recommended fix: Uninstall Android SDK Build-tools version 24 using the Android SDK Manager.
Another separate issue is that versions 24 and higher of the Android SDK Build-tools package require Java JDK 8 or higher. This can cause at least 1 error:
- “java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major.minor version 52.0”
Possible ways to fix:
(Edited on July 14, 2016: Simplify the recommendations and provide a link to the upstream bug.)
(Edited on July 25, 2016: Mention the new version Android SDK Build-tools 24.0.1.)
(Edited on August 11, 2016: Add a note about checking the JDK version in the Xamarin preferences.)
We are aware that Google has released the first preview of Android N, and hope to have a compatible preview of Xamarin.Android that works with N available soon.
This first preview will only offer basic functional support, but we plan on releasing further previews in the coming months to add increased functionality based on the new features included with Android N.
We are releasing new Stable builds to update the certificate for our build signing step, as the old one is about to expire. These builds contain no functional changes from the previously released Stable builds, and thus should have no effect on projects made against the previous Stable builds.
- Xamarin Studio (for Windows) 188.8.131.52
- Xamarin Windows Installer
We are releasing new Stable builds with support for the final iOS 9.2 API that Apple released yesterday as part of Xcode 7.2. Please note this release only supports the iOS 9.2 API, and does not include watchOS2 or tvOS support. Those will come to Stable at a later date (but are available as previews now)
- Xamarin for Visual Studio 184.108.40.2067
We are aware of an issue with our current Xamarin.iOS build that may prevent submission of watchOS 1 apps built using WatchKit. We are working on a hotfix for this issue, and hope to have updated builds for both Xamarin Studio and Visual Studio out later this week.
In the interim, we are making available a preview build of an updated Xamarin.iOS that is compatible with the current Xamarin Studio stable build that should address this issue. This preview is not compatible with Xamarin.VS, but the upcoming Stable hotfix should address this for everyone, including VS users.
[Xamarin.VS / Xamarin.iOS] – watchOS 1 apps built with WatchKit will be rejected during submission with the notification “Invalid WatchKit Support”.
** UPDATE – This build now also includes a fix for HTTPClient Authentication not working correctly. The additional should also be included in Cycle 5 Service Release 3 when it goes to Stable. **
We are aware of an issue hitting iOS developers right now that we are addressing, but won’t officially be released until Cycle 5 Service Release 3 goes to Stable (likely early August). However, for those of you who need to submit Watch Apps right now and are blocked, there is a workaround that can be used, or you can try out the updated hotfix build below, which is based off the current Stable (but has not been tested by our internal QA).
Rather than delay Service Release 3 to test this specific build, we’re simply providing it for download as a temporary measure. We will be including this same patch in our Service Release 3 build as well, where QA will be testing it as part of the standard process before releasing to Stable.
- [Xamarin.VS] – The above mentioned workaround for Watch App submission will not work for VS, so the below build must be used to successfully submit to the App Store.
- Xamarin.iOS 220.127.116.11 [Download]
- Issues Addressed:
- 30958 – Fixes an issue with incorrect Watch App Info.plist UIDeviceFamily array preventing Watch App submission.
- 30869 – Fixed an issue with HTTPClient Authentication not working correctly.
We are releasing an updated set of builds to the Stable channel in order to address the issues noted in our iOS9/El Capitan Technical Preview blog post. As noted in that post, we feel we’ve completed sufficient testing on the Xamarin.iOS SDK that resolves the issues affecting both 32 and 64 bit apps running on iOS 9. With this new Xamarin.iOS release, you should be able to rebuild and re-submit your apps using Xcode 6 and have them run against iOS 9 previews, ready to prepare them for the fall release of iOS 9. Head over to our developer page to read up on prepping your app for iOS 9.
We will also be posting previews of the Xamarin.iOS SDK that supports Xcode 7 and the iOS 9 APIs soon. Those builds will be distributed via a preview site, and we will have a new blog post up when they are available.
- [Xamarin.VS] – Debugging on iOS 9 devices from Visual Studio is not yet supported.