Category Archives: Technical Bulletin

Technical Bulletin: Updating Xamarin Visual Studio 2017 & Side-by-Side

With the release of Visual Studio 2017, there have been questions on whether Visual Studio 2015 can be installed on the same machine. It is currently possible to install the two side-by-side on the same machine successfully. Do note that at the moment, Xamarin for Visual Studio 2017 is one build behind the version for Visual Studio 2015.

Xamarin coordination with the upstream schedule has been evolving across the VS 2017 releases, and plans are underway to synchronize more tightly as soon as possible. Watch for additional news on that topic over the next week.


Update Channels and Visual Studio 2017:

Visual Studio 2017 does not support Xamarin Alpha, Beta, and Stable channels in the same way as earlier versions of Visual Studio (or Xamarin Studio), but a Release and Preview model instead. To install a Preview instance alongside a stable install, download and run the Visual Studio Preview installer, selecting the Preview option during the install process as shown below:

vs2017-installer-sml

The Preview version of Visual Studio may include corresponding Preview versions of Xamarin functionality, including:

  • Forms
  • Xamarin Visual Studio Extension
  • Xamarin Profiler
  • Xamarin Workbooks/Inspector
  • Xamarin Remote iOS Simulator

More information is available in the Visual Studio 2017 Preview FAQ as well as in our documentation on updating.


Uninstalling Visual Studio 2017 Preview:

In the event that a preview version of Visual Studio 2017 needs to be uninstalled, the Visual Studio Installer can be used to accomplish this. Read the uninstalling Xamarin guide for more information.

⚠ Additional Considerations:

At the moment, uninstalling one of the side-by-side installations of Visual Studio 2017 will partially affect the Xamarin installation resulting in removal of the following dependencies from the target machine:

  • Xamarin Profiler
  • Xamarin Workbooks/Inspector
  • Xamarin Remote iOS Simulator
  • Apple Bonjour

This does not impact the remaining Visual Studio 2017 installation, but can have effects on building iOS solutions, profiling apps, and will completely remove Workbooks/Inspector and the Remote iOS Simulator.

To bring the remaining installation of Visual Studio 2017 back to its full feature set and restore the tools listed above and their functionality in the IDE, use the Visual Studio 2017 installer to repair the installation.

Stable Release: Updated Cycle 8 Service Release 1 w/ Xcode 8.2 Support

We are releasing an updated version of Cycle 8 Service Release 1 to the Stable channel which provides Xcode 8.2 support on top of our existing Stable builds. Please check out the product release notes to see all the fixes and known issues for this release.

If you notice an error in this blog post or have trouble downloading one of the installer packages, please let us know in the corresponding forum thread.


Known Issues

  • [Xamarin Studio]43188 – Sporadic “Out of memory” error during build leaves solution in an unbuildable state until the project is reloaded.
    • Improved in this release: Cycle 8 Service Release 1 includes some fixes that should hopefully eliminate the need to reload the project in this scenario. Additional fixes for the “Out of memory” error itself are also planned.

Products Released


Updating and downgrading
You can install this new version by checking for updates on the Stable updater channel.
You can downgrade back to the previous Cycle 8 Service Release 1 (from November 16) versions by manually reinstalling each old package. See the KB article on downgrading. If you would prefer an email with any older installer links you need, feel free to write to contact@xamarin.com to request the older versions.

  • For Mac you’ll need: Xamarin.iOS.
  • For Windows you’ll need: Xamarin.VisualStudio (from either the Xamarin.Android or Xamarin.iOS drop-down menu).

Technical Bulletin: Xcode 8.2

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.

Technical Bulletin: Xcode 8.1 GM

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.

Technical Bulletin: Android SDK Build-tools 24

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:

  • Update to Java JDK 8, and then make sure that JDK 8 is selected in the Xamarin preferences:
    • Visual Studio: Tools > Options > Xamarin > Android Settings > Java Development Kit Location.
    • Xamarin Studio (on Mac): Xamarin Studio > Preferences > Projects > SDK Locations > Android > Java SDK (JDK).
  • Or uninstall all Android SDK Build-tools versions 24 and higher via the Android SDK manager.
  • Or set the AndroidSdkBuildToolsVersion MSBuild property to an earlier version. For example, if you also have version 23.0.3 installed, you could add the following line within the top <PropertyGroup> element in the Android project .csproj file:
    <AndroidSdkBuildToolsVersion>23.0.3</AndroidSdkBuildToolsVersion>

(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.)

Technical Bulletin: Android N

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.

Technical Bulletin: Stable Update for Windows Signing Certficate

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.


Products Released

  • Xamarin Windows Installer

 

Stable Release: iOS 9.2 / Xcode 7.2 Support

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)


Products Released


 

Watchkit / WatchOS 1 Hotfix Technical Bulletin

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.


Known Issues

[Xamarin.VS / Xamarin.iOS] – watchOS 1 apps built with WatchKit will be rejected during submission with the notification “Invalid WatchKit Support”.


Products Released

Stable Release: Mono Framework for El Capitan

We are releasing an updated Mono Framework to the Stable channel. A bug has been identified as a critical issue affecting some internal tests, and we felt that releasing the fix was a priority.

The issue is caused by a new feature in El Capitan called System Integrity Protection (SIP). One of the changes resulting from SIP is that any environment variables prefixed with DYLD_* are blanked out when launching protected processes.   This caused problems for some applications, and in particular some features of Xamarin Studio.


Products Released