Detailed Look At Whats New in Xamarin.iOS for Visual Studio

After Evolve there were a number of new exciting enhancements all around. First of all this is currently only in the Alpha channel version 4.2. I also want to mention this is just from myself exploring the new options, some of this functionality may be new but from a slightly older version and I haven’t actually used every one of these features yet.

Remote iOS USB

Announced at Evolve but as I later found out, not actually implemented yet, still waiting for this release but the functionality for us Visual Studio developers is awesome. Have a Mac Agent that builds the code then pushes it out to your iOS device, attached to your Windows PC. Its a fantastic solution for people like me where the Mac isn’t actually physically next to me. Though I did get some extra exercise.

Remote Windows Simulator

Another part that annoyed me as a Visual Studio developer is when I wanted to build in the simulator I needed to Team Viewer or Remote into the Mac to see what was happening. The application is still running on the Mac but at least its displayed locally to me now.

To enable it go to Tools > Options > Xamarin and tick the Remote Simulator to Windows.

RemoteSimulatorOption

I would show you a picture of the Simulator but I can’t get it to load. It just builds and then says Launching Application and nothing further happens. Its still in alpha so I will wait and see what the beta holds.

SSL/TLS Implementation

By default and in the past Xamarin has used the Mono TLS provider by default. In a continuing move I am seeing is bypassing Mono’s sometimes slow or outdated methods and going native when possible. In a new option you can now choose Apple TLS that supports v1.1 and v1.2 while they wait for Mono to catch up.

SSLImplementation

 

HttpClient Implementation

Currently the default is to use Mono’s default implementation of HttpClient which is quite slow and does have a few known issues. To speed up your iOS and Android applications you would normally use Paul Betts ModernHttpClient. It looks as though Xamarin has used this code and implemented it into the framework and you now have the ability to choose the default HttpClient implementation. I strongly recommend you change it to NSUrlSession, it is much faster and feature rich (if you end up getting dirty in lower level code).

HttpClient

Enable Bitcode

This is a great feature for App developers. As any mobile developer knows, file size of that ipa causes many issues especially as we keep needing to support different architectures into the future. The biggest issue was when we needed to compile for ARMv7 and ARM64, almost doubling the file size. Bitcode allows you to compile to LLVM bitcode and submit that to the AppStore. Apple will then do optimizations as needed and compile for each architecture. Users who download your app will then only download the app that is compiled for their architecture, hence reducing the download time and storage requirements on the users phone.

Bitcode

Add Native Library

I am not sure if this is new new, or just new, but you can now add a native library direct from the project menu. Previously it required a few more steps as show in Linking Native Libraries.

LinkNative

 

Summary

That’s all the awesome new things I could find specific to iOS. Contact me if I missed anything new you think should be mentioned.


XAMARIN.FORMS MONTHLY NEWSLETTER

JOIN 1,000+ SUBSCRIBERS

  1. Don't miss out on updates
  2. The latest info from this site, Xamarin and the community
  3. Unsubscribe at any time*

* We use MailChimp, with double opt-in, and instant unsubscribe

Microsoft MVP | Xamarin MVP | Xamarin Certified Developer | Exrin MVVM Framework | Xamarin Forms Developer | Melbourne, Australia

Related Posts

Leave A Comment?