Mit der Veröffentlichung von Visual Studio 15 Preview 5 wurden auch die Xamarin Erweiterung auf die Version 4.1 aktualisiert, welche bei der Installation als zusätzliches Feature hinzugefügt werden kann. Das Paket selber besteht aus den Komponenten Xamarin.iOS 9.8 und Xamarin.Android 6.0.
Nichts desto trotz ist das Xamarin Paket auch für bisherige Veröffentlichungen von Visual Studio verfügbar und kann über den Menüpunkt Options unter dem Register “Xamarin -> Other” nachträglich aktualisiert werden.
Folgenden Änderungen und Neuerungen hielten Einzug mit Xamarin 4.1
- Erweiterung des iOS Assets Catalog um Sprite Atlas, Data Set und Image Sets
- tvOS Support durch neue Projekt-Templates
- Erweiterung des Android XML Editors
- SSL/TLS Implementierung als Auswahl in den Build Optionen bei iOS
- HttpClient Selektor für den iOS Build
Erweiterung des Android XML Editors
Der integrierte XML Editor von Visual Studio wurde auch für die Bearbeitung von Android XML Dateien (.axml) angepasst und verbessert, zu welchem folgende Punkte zählen:
– Intellisense Unterstützung (noch nicht vollständig)
– Farbliche Markierungen der Android Layout Komponenten
– Bisher gewohnte Funktionen des XML Editors wie Suchen/Ersetzen und auch die vertikale Selektion des Codes.
SSL/TLS Implementierung Build Option bei iOS
In den Build Einstellungen von Xamarin.iOS Projekte lässt sich nun SSL/TLS Implementierung festlegen. Dabei steht entweder Mono’s eigene TLS (Version 1.0) oder aber auch Apples TLS (Version 1.2) Implementierung im Dialog zur Auswahl. Weitere Möglichkeiten zur Anpassung der TLS Implementierung finden sich unter dem Xamarin Developer Guide (https://developer.xamarin.com/guides/cross-platform/transport-layer-security/).
HttpClient Selektor für den iOS Build
Eine weitere Option innerhalb der iOS Build Einstellungen betrifft die Auswahl der HttpClient Implementierung. Standardmäßig wird der HttpClient auf Basis von HttpWebRequest genommen, aber es besteht nun auch die Möglichkeit zur Auswahl der nativen iOS Implementierungen CFNetwork (iOS 6 oder höher) oder NSUrlSession (iOS 7 höher), so dass eine in Code Implementierung nicht notwendig ist. Diese führen zu einer verbesserten Performance durch kleinere Binaries wie auch Nutzung der nativen Verschlüsselung auf Kosten der Wiederverwendbarkeit bei plattformübergreifenden Projekten.
Zu beachten gilt, dass die erweiterten Einstellungen unter den iOS Build Optionen (SSL/TLS Implementierung und der HttpClient Selektor) erst mit einer aktiven Verbindung zu einem Mac Agent zur Verfügung stehen, da diese abhängig von der verwendeten iOS SDK sind. Eine genaue Auflistung der behobenen Bugs lässt sich unter der Ankündigung des Updates nachlesen.