Einführung in iOS 9

In diesem Artikel werden alle neuen und geänderten APIs und Features vorgestellt, die in iOS 9 für Xamarin.iOS-Entwickler*innen verfügbar sind.

The iOS 9 logo

Apple hat mehrere neue APIs und Dienste in iOS 9 hinzugefügt, zusammen mit vielen Verbesserungen an vorhandenen Features.

3D Touch

3D Touch ist neu in iOS 9 und auf dem iPhone 6s und iPhone 6s Plus und fügt druckempfindliche Gesten zu Ihren iOS Apps hinzu. Mit 3D Touch kann eine iPhone-App nun nicht nur feststellen, dass Benutzer*innen den Bildschirm des Geräts berühren, es kann auch erkennen, wie viel Druck Benutzer*innen ausüben und auf die verschiedenen Druckpegel reagieren.

3D Touch bietet Ihrer App die folgenden Features:

  • Druckempfindlichkeit – Apps können jetzt messen, wie stark oder leicht Benutzer*innen den Bildschirm berühren und diese Informationen nutzen. Beispielsweise kann eine Malen-App eine Linie dicker oder dünner machen, basierend darauf, wie stark Benutzer*innen den Bildschirm berühren.
  • Peek and Pop (Einsehen und Auswählen) – Ihre App kann Benutzer*innen jetzt die Interaktion mit ihren Daten ermöglichen, ohne dass sie aus dem aktuellen Kontext heraus navigieren müssen. Wenn sie auf dem Bildschirm stark drücken, können sie das Element Einsehen, an dem sie interessiert sind (z. B. eine Vorschau einer Nachricht). Durch stärkeres Drücken können sie in das Element Auswählen.
  • Schnelle Aktionen – Stellen Sie sich schnelle Aktionen wie die Kontextmenüs vor, die als Popupelement angezeigt werden können, wenn Benutzer*innen mit der rechten Maustaste auf ein Element in einer Desktop-App klicken. Mithilfe von schnellen Aktionen können Sie häufige, schnell und einfach zugängliche Tastenkombinationen zu Funktionen in Ihrer App über das Symbol „Startseite“ auf dem iOS-Gerät hinzufügen.

Weitere Informationen finden Sie in unserem Leitfaden zur Einführung in 3D Touch.

App-Transportsicherheit

App-Transportsicherheit (App Transport Security, ATS) ist neu bei iOS 9 und erzwingt sichere Verbindungen zwischen Internetressourcen (z. B. dem Back-End-Server der App) und Ihrer App. ATS stellt sicher, dass die gesamte Internetkommunikation den bewährten Methoden für sichere Verbindungen entspricht, wodurch die versehentliche Offenlegung vertraulicher Informationen verhindert wird, entweder direkt über Ihre App oder eine Bibliothek, die sie nutzt.

Da ATS standardmäßig in Apps aktiviert ist, die für iOS 9 und OS X 10.11 (El Capitan) erstellt wurden, werden alle Verbindungen, die NSUrlConnection, CFUrl oder NSUrlSession verwenden, den ATS-Sicherheitsanforderungen unterliegen. Wenn Ihre Verbindungen diese Anforderung nicht erfüllen, werden sie mit einer Ausnahme fehlschlagen.

Weitere Informationen zu ATS finden Sie in unserem Leitfaden zur App-Transportsicherheit.

Multitasking für iPad

Mit iOS 9 hat Apple Multitasking-Support für die gleichzeitige Ausführung von zwei Apps auf einer bestimmten iPad-Hardware hinzugefügt. Daher können Ihre Xamarin.iOS-Apps nicht mehr davon ausgehen, dass sie die einzigen Apps sind, die zu einem bestimmten Zeitpunkt ausgeführt wird, oder dass sie Zugriff auf den Vollbildmodus oder die Ressourcen des Geräts haben.

Multitasking für iPad wird über die folgenden Features unterstützt:

  • Slide Over (Darüber schieben) – Ermöglicht es Benutzer*innen, vorübergehend eine zweite iOS-App in einem Slide-Out (Ausziehen)-Bereich (entweder auf der rechten oder linken Seite des Bildschirms basierend auf der Sprachrichtung) auszuführen, die ungefähr 25 % der derzeit ausgeführten Haupt-App überdeckt. Slide Over ist nur auf einem iPad Pro, iPad Air, iPad Air 2, iPad Mini 2, iPad Mini 3 oder iPad Mini 4 verfügbar.
  • Geteilte Ansicht – Auf unterstützter iPad-Hardware (nur iPad Air 2, iPad Mini 4 und iPad Pro) können Benutzer*innen eine zweite App auswählen und parallel mit der derzeit ausgeführten App im geteilten Bildschirmmodus ausführen. Benutzer*innen können den Prozentsatz des Hauptbildschirms steuern, den jede App belegt.
  • Bild-in-Bild – Für Apps, die Videoinhalte wiedergeben, kann das Video jetzt in einem verschiebbaren und in der Größe veränderbaren Fenster wiedergegeben werden, das über den anderen Apps schwebt, die derzeit auf dem iOS-Gerät ausgeführt werden. Benutzer*innen haben die volle Kontrolle über die Größe und Position dieses Fensters. Bild-in-Bild ist nur auf einem iPad Pro, iPad Air, iPad Air 2, iPad Mini 2, iPad Mini 3 oder iPad Mini 4 verfügbar.

Weitere Informationen zu den neuen Multitasking-Fähigkeiten von iOS 9 finden Sie in unserem Leitfaden Multitasking für iPad.

Neue Frameworks für „Contacts“ und „Contacts UI“

Mit der Einführung von iOS 9 hat Apple zwei neue Frameworks, Contacts undContactsUI veröffentlicht, welche die vorhandenen Frameworks für Adressbuch und Adressbuch-Benutzeroberfläche ersetzen, die von iOS 8 und früher verwendet werden.

Diese neuen, objektorientierten Frameworks bieten Folgendes:

  • Contacts – Bietet Xamarin.iOS-Zugriff auf die Kontaktinformationen von Benutzer*innen. Da die meisten Apps nur schreibgeschützten Zugriff erfordern, wurde dieses Framework für threadsicheren schreibgeschützten Zugriff optimiert.
  • ContactsUI – Stellt Xamarin.iOS-Benutzeroberflächenelemente bereit, um Kontakte auf iOS-Geräten anzuzeigen, zu bearbeiten, auszuwählen und zu erstellen.

Weitere Informationen finden Sie in der Dokumentation zu Contacts und Contacts UI.

Neue Such-APIs

Die Suche wurde in iOS 9 erweitert, um großartige neue Möglichkeiten für den Zugriff auf Informationen innerhalb Ihrer Xamarin.iOS-App zu bieten. Mithilfe der neuen Such-APIs können Sie die Inhalte Ihrer App über Spotlight- und Safari-Suchergebnisse, Handoff- und Siri-Erinnerungen und -Vorschläge durchsuchbar machen. Auf diese Weise können Benutzer*innen schnell auf Aktivitäten und Informationen zugreifen, die tief in Ihrer App enthalten sind.

Darüber hinaus erleichtern die neuen Such-APIs die Integration der Suche in Ihre App ohne vorherige Erfahrungen mit der Suchimplementierung. Aus diesem Grund behauptet Apple, dass es in der Regel einige Stunden dauert, um den Inhalt einer iOS 9-App mithilfe der App-Suche universell durchsuchbar zu machen.

Weitere Informationen finden Sie in unserer Dokumentation zu Suchverbesserungen.

Neue Stapelansicht

Das Stapelansicht-Steuerelement (UIStackView) nutzt die Leistungsfähigkeit von Automatischer Layout und Größenklassen zum Verwalten eines Stapels von Unteransichten (entweder horizontal oder vertikal), der dynamisch auf die Ausrichtung und Bildschirmgröße des iOS-Geräts reagiert.

Durch die Verwendung des Stapelansicht-Steuerelements wird der für das Layout einer Benutzeroberfläche erforderliche Arbeitsaufwand erheblich reduziert. Das Layout aller an eine Stapelansicht angefügten Unteransichten wird automatisch basierend auf von Entwickler*innen definierten Eigenschaften wie Achse, Verteilung, Ausrichtung und Abstand verwaltet.

Weitere Informationen finden Sie in unserer Dokumentation Einführung in die Stapelansicht.

Änderungen der Sammlungsansicht

In iOS 9 unterstützt die Sammlungsansicht (UICollectionView) jetzt das sofort einsatzbereite Neuanordnen durch Ziehen von Elementen durch Hinzufügen eines neuen Erkennungsmoduls für Standardgesten und mehrerer neuer unterstützenden Methoden.

Mithilfe dieser neuen Methoden können Sie Drag-To-Reorder (Ziehen zum Neuanordnen) in ihrer Sammlungsansicht ganz einfach implementieren und haben die Option, die Darstellung der Elemente während einer beliebigen Phase des Neuanordnungsprozesses anzupassen.

Weitere Informationen zu den Änderungen der Sammlungsansicht für iOS 9 finden Sie in unserem Leitfaden zu Änderungen der Sammlungsansicht.

Spielverbesserungen

Mit iOS 9 hat Apple verschiedene technologische Verbesserungen an den Gaming-APIs vorgenommen, welche die Implementierung von Spielgrafiken und Audio in Ihrer Xamarin.iOS-App vereinfachen. Dazu gehören sowohl einfache Entwicklung durch High-Level-Frameworks als auch die Nutzung der Leistung der GPU des iOS-Geräts für verbesserte Geschwindigkeit und Grafikfähigkeiten mit Low-Level-Verbesserungen.

Dazu gehören GameplayKit, ReplayKit, Model I/O, MetalKit und Metal Performance Shaders sowie neue, erweiterte Features von Metal, SceneKit und SpriteKit.

Weitere Informationen finden Sie in unserer Dokumentation zu Spielverbesserungen.

Änderungen des HomeKit-Frameworks

Das in iOS 8 eingeführte HomeKit-Framework bietet die Möglichkeit, verschiedenes HomeKit-fähiges Zubehör (z. B. automatische Lichter, Türschlösser und Garagentoröffner) über eine Xamarin.iOS-App einzurichten und zu steuern. Neben der einfachen Einrichtung und Konfiguration kann HomeKit-Zubehör über gesprochene Siri-Befehle gesteuert werden.

In iOS 9 hat Apple die Einrichtung vereinfacht, die unterstützten Arten von Zubehör erweitert und mehr Interaktionen mit Zubehör bereitgestellt (z. B. Remotesteuerung von Zubehör über iCloud).

Weitere Informationen finden Sie in unserer Einführung in HomeKit, HomeKitIntro iOS-Beispiel-App und der HomeKit-Dokumentation von Apple.

Änderungen des Handoff-Frameworks

Handoff (auch bekannt als Kontinuität) wurde von Apple in iOS 8 und OS X Yosemite (10.10) eingeführt, damit Benutzer*innen eine Aktivität auf einem ihrer Geräte (entweder iOS oder Mac) starten und diese Aktivität auf einem anderen ihrer Geräte (wie durch das iCloud-Konto der Benutzer*innen identifiziert) fortsetzen können.

Handoff wurde in iOS 9 erweitert, um auch neue, erweiterte Suchfunktionen zu unterstützen. Weitere Informationen finden Sie in unserer Dokumentation zu Suchverbesserungen. Weitere Informationen zur Verwendung von Handoff finden Sie in unserer Dokumentation Einführung in Handoff.

Neue Erweiterungspunkte

In iOS 8 hat Apple Erweiterungen eingeführt – Bibliotheken, die vom Betriebssystem in Standardkontexten dargestellt werden, z. B. im Benachrichtigungscenter, wenn Benutzer*innen eine Tastatur anfordern oder wenn sie ein Foto bearbeiten.

Mit iOS 9 erweitert Apple den Support für Erweiterungen, indem mehrere neue Erweiterungspunkte bereitgestellt werden, die Nutzungsrichtlinien definieren und APIs für die Arbeit in einem bestimmten Bereich wie folgt bereitstellen:

  • Neuer Erweiterungspunkt für Audioeinheiten – Verwenden Sie diesen Erweiterungspunkt, um Audioeffekte, Musikinstrumente, Soundgeneratoren usw. für die Verwendung in anderen Host-Apps für Audioeinheiten (z. B. GarageBand) bereitzustellen. Mit diesem Erweiterungspunkt können Sie auch Audioeinheiten (Audio-Plug-Ins) im App Store verkaufen.
  • Neuer Erweiterungspunkt für Indexwartung – Verwenden Sie diesen Erweiterungspunkt, um die Neuindizierung von App-Daten zu unterstützen, ohne dass ein App-Neustart erforderlich ist.
  • Neue Netzwerkerweiterungspunkte (diese erfordern spezielle Berechtigungen von Apple):
    • Erweiterung für App-Proxyanbieter – Verwenden Sie diesen Erweiterungspunkt, um einen benutzerdefinierten transparenten clientseitigen Netzwerkproxy zu implementieren.
    • Erweiterung für Filterdatenanbieter/Filtersteuerungsanbieter – Verwenden Sie diese Erweiterungspunkte, um dynamische Netzwerkinhaltsfilterung auf dem Gerät zu implementieren.
    • Erweiterung für Pakettunnelanbieter – Verwenden Sie diesen Erweiterungspunkt, um ein benutzerdefiniertes Protokoll für das VPN-Tunneln clientseitig zu implementieren.
  • Neue Safari-Erweiterungspunkte:
    • Erweiterung für Inhaltsblockierung – Verwenden Sie diesen Erweiterungspunkt, um eine Liste blockierter Inhalte zu definieren, die nicht angezeigt werden, wenn Benutzer*innen das Web durchsuchen.
    • Erweiterung für freigegebene Links – Verwenden Sie diesen Erweiterungspunkt, um das Anzeigen der Inhalte Ihrer App in den freigegebenen Links von Safari zu ermöglichen.

Weitere Informationen finden Sie in unserer Dokumentation zur Einführung in Erweiterungen und der Apple-Dokumentation Leitfaden zur App-Erweiterungsprogrammierung.

Verbesserungen an der Schlüsselkette

In iOS 9 hat Apple die Schlüsselkette erweitert, um einen neuen Verschlüsselungsschlüsseltyp für die „Sichere Enklave“ und weitere Elementschutzoptionen wie folgt bereitzustellen:

  • Eine neue Touch-ID-Einschränkung, die Schlüsselkettenelemente ungültig macht, wenn die Fingerabdruckdatenbank geändert wird.
  • Neue Einschränkungen, die das Erstellen von Einträgen in die Zugriffssteuerungsliste nur mit Touch-ID oder Passcode zulassen.
  • Ein neuer Authentifizierungskontext, der es Ihnen ermöglicht, die Authentifizierung unabhängig von SecItem-Aufrufen aufzurufen.
  • Entropie der Zugriffssteuerungsliste (unter Verwendung der Option „Anwendungskennwort“) für die Verschlüsselung von Schlüsselkettenelementen, die von der Anwendung bereitgestellt werden.
  • Support für das Generieren und Verwenden von Schlüsseln innerhalb der sicheren Enklave (über das kSecAttrTokenIDSecureEnclave-Attribut).

Weitere Informationen finden Sie unter Touch-ID und Gesichtserkennungs-ID in Xamarin.iOS.

Support für Von-rechts-nach-links-Sprachen

In iOS 9 hat Apple die Präsentation einer gespiegelten Benutzeroberfläche einfacher denn je gemacht, indem vollständiger Support für Von-rechts-nach-links-Sprachen bereitgestellt wird. Hierzu gehören folgende Elemente:

  • Standard-UIKit-Steuerelemente werden basierend auf den Gebietsschema- und Spracheinstellungen von iOS-Geräten automatisch von rechts nach links gespiegelt.
  • Die UIView-Klasse stellt Attribute bereit, mit denen Sie definieren können, wie eine bestimmte Ansicht angezeigt werden soll, wenn sie von rechts nach links gespiegelt wird.
  • Die Möglichkeit, ein Bild programmgesteuert mithilfe der FlipsForRightToLeftLayoutDirection-Eigenschaft der UIImage-Klasse zu spiegeln.

Weitere Informationen finden Sie in der Apple-Dokumentation zur Unterstützung für Von-rechts-nach-links-Sprachen.

Zusätzliche Änderungen am Framework

Neben den wichtigsten Änderungen, die wir oben behandelt haben, hat Apple Änderungen und Verbesserungen an mehreren bestehenden Frameworks für iOS 9 vorgenommen, einschließlich der folgenden:

  • AV Foundation-Framework
  • AVKit-Framework
  • CloudKit-Framework
  • Foundation-Framework
  • Handoff-Framework
  • HealthKit-Framework
  • HomeKit-Framework
  • Framework für die lokale Authentifizierung
  • MapKit-Framework
  • PassKit-Framework
  • Safari Services-Framework
  • UIKit-Framework

Weitere Informationen finden Sie in unserer Dokumentation über Zusätzliche Änderungen am iOS 9-Framework.

Veraltete APIs und Funktionen

Apple hat die folgenden APIs und Funktionen in iOS 9 veraltet:

  • Adressbuch und Adressbuch-Benutzeroberfläche – Diese APIs wurden durch die Frameworks „Contact“ und „Contact UI“ ersetzt. Weitere Informationen finden Sie in der Dokumentation zu Contacts und Contacts UI.
  • CBCentralManager – Die RetrievePeripherals- und RetrieveConnectedPeripherals-Methoden der CBCentralManager-Klasse wurden in iOS 9 entfernt. Das Aufrufen dieser Methoden führt dazu, dass eine App beim Koppeln von Zubehör oder beim Starten der App abstürzt.
  • FetchAllChanges – Die FetchAllChanges der CKFetchRecordChangesOperation-Klasse wurde veraltet und wird in iOS 9 entfernt.
  • Media Player – Das Media Player-Framework wurde in iOS 9 veraltet. Verwenden Sie stattdessen AVKit- oder AV Foundation-APIs.

Eine vollständige Liste spezifischer API-Veralterungen finden Sie in der iOS 9.0-API-Diffs-Dokumentation von Apple.

iOS 9-Beispiel-Apps

Wir haben einige iOS 9-spezifische Beispiele für die ersten Schritte:

Sehen Sie sich auch die iOS-Teile dieser Beispiele an (Begleiter-Versionen für Mac OS X bald verfügbar!):