Einführung in iOS 8

Mit iOS 8 hat Apple eine Vielzahl neuer Frameworks und APIs bereitgestellt, um Entwickler zu begeistern und zu begeistern. In diesem Leitfaden stellen wir diese neuen APIs vor und erfahren, wie iOS 8 sowohl Entwicklern als auch Benutzern zugute kommen kann.

iOS 7 hat die gesamte iOS-Benutzeroberfläche visuell gegenüber dem geändert, was Benutzer und Entwickler erwartet hatten, direkt ab dem ersten iPhone-Betriebssystem. IOS 8 setzt dies fort, indem es viele Frameworks für Entwickler bereitstellt, die es Benutzern ermöglichen, fast jeden Aspekt ihres Lebens direkt vom iPhone aus zu steuern. Beispielsweise können Integrität und Fitness mit HealthKit analysiert werden, Kennungen sind bei der biometrischen Authentifizierung mithilfe von LocalAuthentication veraltet, App-Erweiterungen öffnen einen Kommunikationskanal zwischen Drittanbieter-Apps und HomeKit ermöglicht die Möglichkeit, Ihr Haus in ein Zuhause der Zukunft zu verwandeln.

Wenn es in iOS 7 darum ging, Die Benutzer zu begeistern, konzentriert sich iOS 8 darauf, Entwickler mit einer ganzen Reihe dieser leckeren neuen Tools zu begeistern.

In diesem Leitfaden werden die neuen APIs für Xamarin.iOS-Entwickler vorgestellt.

Es gibt auch einige APIs, die in iOS 8 veraltet sind, die am Ende dieses Dokuments ausführlich erläutert werden.

Anforderungen

Zum Erstellen von iOS 8-Apps in Visual Studio für Mac ist Folgendes erforderlich:

  • Xcode 7 und iOS 8 oder neuer – Die neuesten Xcode- und iOS-APIs von Apple müssen auf dem Computer des Entwicklers installiert und konfiguriert werden.
  • Visual Studio für Mac: Die neueste Version von Visual Studio für Mac sollte auf dem Benutzergerät installiert und konfiguriert werden.
  • iOS 8-Gerät oder -Simulator : Ein iOS-Gerät, auf dem die neueste Version von iOS 8 zum Testen ausgeführt wird.

Zuhause und Freizeit

iOS 8 hat dazu beigetragen, Apple und das iOS-Gerät durch die Verwendung von HomeKit und HealthKit direkt ins Herz Ihres Hauses zu bringen. In diesem Abschnitt wird erläutert, wie diese neuen Frameworks funktionieren und wie sie in Ihre Xamarin.iOS-Anwendung integriert werden können.

HomeKit

Die Steuerung Ihrer Geräte über Ihr iPhone ist keine neue Anwendung der Technologie. viele Connected-Home-Produkte können über eine iOS-App gesteuert werden. HomeKit geht dies jedoch einen Schritt weiter, indem es ein gemeinsames Protokoll für Heimautomatisierungsgeräte fördert und bestimmte Hersteller wie iHome, Philips und Honeywell eine öffentliche API zur Verfügung stellt. Für den Benutzer bedeutet dies, dass er fast jeden Aspekt seines Hauses nahtlos von einer Anwendung aus steuern kann. Es ist irrelevant für sie zu wissen, dass sie eine Philips Hue-Glühbirne oder einen Nest-Alarm verwenden. Zudem können Nutzer zahlreiche Smart Home-Prozesse zu "Szenen" verketten.

Mit HomeKit können Apps von Drittanbietern und Siri Zubehör entdecken und zu ihrer persönlichen Heimkonfigurationsdatenbank hinzufügen, diese Daten bearbeiten und darauf reagieren und mit Zubehör und deren Diensten kommunizieren, um eine Aktion auszuführen.

Konfiguration

Das folgende Diagramm zeigt die grundlegende Hierarchie der Konfiguration von HomeKit-Zubehör:

Dieses Diagramm zeigt die grundlegende Hierarchie der Konfiguration von HomeKit-Zubehör

Um mit HomeKit zu beginnen, müssen Entwickler sicherstellen, dass in ihrem Bereitstellungsprofil der HomeKit-Dienst ausgewählt ist. Apple hat Entwicklern auch ein HomeKit-Simulator-Add-In für Xcode zur Verfügung gestellt. Dies finden Sie im Apple Developer Center unter Hardware IO Tools for Xcode.

Weitere Informationen finden Sie in unserem HomeKit-Leitfaden .

HealthKit

HealthKit ist ein in iOS 8 eingeführtes Framework, das einen zentralisierten, koordinierten und sicheren Datenspeicher für integritätsbezogene Informationen bereitstellt. Das Betriebssystem gewährleistet den Datenschutz und die Sicherheit von Integritätsinformationen und mit der Health-App eine Dashboard für den Benutzer. Mit der Berechtigung des Benutzers können Anwendungen eine Vielzahl von Integritätsinformationen lesen und schreiben.

Weitere Informationen zur Verwendung in Ihrer Xamarin.iOS-App finden Sie im Leitfaden Einführung in HealthKit .

Erweitern der iPhone-Funktionalität

Mit iOS8 erhalten Entwickler viel mehr Kontrolle darüber, wer ihre App verwenden kann, und mehr Möglichkeiten für eine offenere Kommunikation zwischen Apps von Drittanbietern. Features wie App-Erweiterungen und Dokumentauswahl eröffnen eine Welt von Möglichkeiten, wie Anwendungen im Apple-Ökosystem verwendet werden können.

App-Erweiterungen

App-Erweiterungen, um zu vereinfachen, sind eine Möglichkeit für Apps von Drittanbietern, miteinander zu kommunizieren. Um hohe Sicherheitsstandards aufrechtzuerhalten und die Integrität der Sandbox-Apps zu gewährleisten, erfolgt diese Kommunikation nicht direkt zwischen Anwendungen. Stattdessen wird es von einer Erweiterung in der Mitte ausgeführt.

Der erste Schritt beim Erstellen einer App-Erweiterung besteht darin, den richtigen Erweiterungspunkt zu definieren. Dies ist wichtig, um das Verhalten und die Verfügbarkeit der richtigen APIs sicherzustellen. Um eine App-Erweiterung in Visual Studio für Mac zu erstellen, fügen Sie sie einer vorhandenen Anwendung hinzu, indem Sie ihrer Projektmappe ein neues Projekt hinzufügen.

Navigieren Sie im Dialogfeld Neues Projekt zu C#>iOS>Unified API-Erweiterungen>, wie im folgenden Screenshot dargestellt:

Erstellen einer neuen Erweiterung

Das Dialogfeld Neues Projekt enthält sieben neue Projektvorlagen zum Erstellen von App-Erweiterungen und wird unten erläutert. Beachten Sie, dass sich viele der Erweiterungen auf andere neue APIs in iOS beziehen, z. B. die Dokumentauswahl:

  • Aktion : Dadurch können Entwickler eindeutige benutzerdefinierte Aktionsschaltflächen erstellen, mit denen Benutzer bestimmte Aufgaben ausführen können.
  • Benutzerdefinierte Tastatur : Dadurch können Entwickler die Palette der integrierten Apple-Tastaturen erweitern, indem sie ihre eigene benutzerdefinierte Tastatur hinzufügen. Die beliebte Tastatur, Swype verwendet diese, um ihre Tastatur auf iOS zu bringen.
  • Dokumentauswahl : Dies enthält einen Dokumentauswahlansichtscontroller, mit dem Benutzer auf Dateien außerhalb der Sandbox der Anwendung zugreifen können.
  • Dateianbieter für die Dokumentauswahl : Dies bietet einen sicheren Speicher für Dateien mithilfe der Dokumentauswahl.
  • Fotobearbeitung : Dies erweitert die Filter und Bearbeitungstools, die Apple bereits in der Fotoanwendung bereitgestellt hat, um Benutzern mehr Kontrolle und mehr Optionen beim Bearbeiten ihrer Fotos zu geben.
  • Heute : Dadurch können Anwendungen Widgets im Abschnitt Heute des Notification Center anzeigen.

Weitere Informationen zur Verwendung von App-Erweiterungen in Xamarin finden Sie im Leitfaden Einführung in App-Erweiterungen .

Touch ID

Touch ID wurde in iOS 7 eingeführt, um den Benutzer zu authentifizieren – ähnlich wie eine Kennung. Es war jedoch nur auf das Entsperren des Geräts, die Verwendung des App Store, die Verwendung von iTunes und die Authentifizierung der iCloud Keychain beschränkt.

Es gibt jetzt zwei Möglichkeiten, Touch ID als Authentifizierungsmechanismus in iOS 8-Anwendungen mithilfe der lokalen Authentifizierungs-API zu verwenden. Es ist derzeit nicht möglich, die lokale Authentifizierung für die Remoteauthentifizierung zu verwenden.

Erstens unterstützt es die vorhandenen Keychain-Dienste durch die Verwendung neuer Keychain-Access Control Listen (ACLs). Schlüsselbunddaten können mit der erfolgreichen Authentifizierung eines Benutzerfingerabdrucks entsperrt werden.

Zweitens bietet LocalAuthentication zwei Methoden zur lokalen Authentifizierung Ihrer Anwendung. Entwickler sollten verwenden CanEvaluatePolicy , um zu ermitteln, ob das Gerät Touch ID akzeptieren kann, und dann EvaluatePolicy den Authentifizierungsvorgang zu starten.

Weitere Informationen zu Touch ID und die Integration in eine Xamarin.iOS-Anwendung finden Sie unter Touch ID und Face ID in Xamarin.iOS-Leitfäden .

Dokumentauswahl

Die Dokumentauswahl arbeitet mit einem iCloud-Laufwerk des Benutzers zusammen, um es dem Benutzer zu ermöglichen, Dateien zu öffnen, die in einer anderen App erstellt wurden, sie zu importieren und zu bearbeiten und sie wieder zu exportieren. Dies schafft einen intuitiven Workflow und damit eine viel bessere Benutzeroberfläche für die Benutzer. Die iCloud-Synchronisierung geht einen Schritt weiter: Alle Änderungen, die in einer Anwendung vorgenommen werden, werden auch auf allen Ihren Geräten konsistent berücksichtigt.

Ausführlichere Informationen zur Dokumentauswahl und zur Integration in eine Xamarin.iOS-Anwendung finden Sie im Leitfaden Einführung in die Dokumentauswahl .

Handoff

Handoff, das Teil des größeren Kontinuitätsfeatures ist, geht einen Schritt weiter, um OS X und iOS zu integrieren. Dies umfasst plattformübergreifende AirDrop, die Möglichkeit, iPhone-Anrufe entgegenzunehmen, SMS auf dem iPad und Mac sowie Verbesserungen beim Tethering von Ihrem iPhone aus.

Handoff funktioniert mit iOS 8 und Yosemite und erfordert ein iCloud-Konto, das auf allen verschiedenen Geräten angemeldet ist, die Sie verwenden möchten. Es sollte mit den meisten vorinstallierten Apple-Apps funktionieren, einschließlich Safari, iWork, Karten, Kalendern und Kontakten.

Weitere Informationen finden Sie in unserer Handoff-Anleitung .

Einheitliche Storyboards

iOS 8 enthält einen neuen einfacher zu verwendenden Mechanismus zum Erstellen der Benutzeroberfläche – das einheitliche Storyboard. Mit einem einzigen Storyboard, um alle verschiedenen Hardwarebildschirmgrößen abzudecken, können schnelle und reaktionsschnelle Ansichten in einem echten "Design once, use many"-Stil erstellt werden.

Vor iOS8 haben Entwickler zwischen UIInterfaceOrientation Hoch- und Querformaten unterschieden und UIInterfaceIdiom zwischen iOS-Geräten unterschieden. In iOS8 ist es nicht mehr erforderlich, separate Storyboards für iPhone- und iPad-Geräte zu erstellen. Die Ausrichtung und das Gerät werden mithilfe von Größenklassen bestimmt.

Jedes Gerät wird durch eine Größenklasse definiert, sowohl in der vertikalen als auch in der horizontalen Achse, und es gibt zwei Typen von Größenklassen in iOS 8:

  • Normal : Dies ist entweder für eine große Bildschirmgröße (z. B. ein iPad) oder ein Gadget, das den Eindruck einer großen Größe vermittelt (z. B. eine UIScrollView
  • Kompakt : Dies gilt für kleinere Geräte (z. B. das iPhone). Diese Größe berücksichtigt die Ausrichtung des Geräts.

Wenn die beiden Konzepte zusammen verwendet werden, ist das Ergebnis ein Raster von 2 x 2, das die verschiedenen möglichen Größen definiert, die in den beiden unterschiedlichen Ausrichtungen verwendet werden können, wie im folgenden Diagramm dargestellt:

Ein Diagramm, das das Raster 2 x 2 darstellt, das die verschiedenen möglichen Größen definiert, die in beiden unterschiedlichen Ausrichtungen verwendet werden können

Weitere Informationen zu Größenklassen finden Sie unter Einführung in einheitliche Storyboards.

Fotokit

Photo Kit ist ein neues Framework, mit dem Anwendungen die Systembildbibliothek abfragen und benutzerdefinierte Benutzeroberflächen erstellen können, um den Inhalt anzuzeigen und zu ändern. Es enthält eine Reihe von Klassen, die Bild- und Videoressourcen sowie Sammlungen von Ressourcen wie Alben und Ordnern darstellen.

Weitere Informationen finden Sie in unserem PhotoKit-Leitfaden .

Spiele

Szenenkit

Scene Kit ist eine 3D-Szenendiagramm-API, die die Arbeit mit 3D-Grafiken vereinfacht. Es wurde erstmals in OS X 10.8 eingeführt und ist jetzt auf iOS 8 gekommen. Das Scene Kit erfordert keine Kenntnisse in OpenGL, um immersive 3D-Visualisierungen und gelegenheitslose 3D-Spiele zu erstellen. Basierend auf gängigen Szenendiagrammkonzepten abstrahiert Scene Kit die Komplexität von OpenGL und OpenGL ES, sodass es sehr einfach ist, einer Anwendung 3D-Inhalte hinzuzufügen. Wenn Sie jedoch Ein OpenGL-Experte sind, hat Scene Kit auch eine hervorragende Unterstützung für die direkte Bindung mit OpenGL. Es enthält auch zahlreiche Features, die 3D-Grafiken wie Physik ergänzen, und lässt sich sehr gut in mehrere andere Apple-Frameworks wie Core Animation, Core Image und Sprite Kit integrieren.

Weitere Informationen finden Sie in der SceneKit-Dokumentation .

Sprite Kit

Sprite Kit, das 2D-Spielframework von Apple, bietet einige interessante neue Features in iOS 8 und OS X Yosemite. Dazu gehören die Integration mit Scene Kit, Shaderunterstützung, Beleuchtung, Schatten, Einschränkungen, normale Kartengenerierung und Physikverbesserungen. Insbesondere die neuen Physikfeatures machen es sehr einfach, einem Spiel realistische Effekte hinzuzufügen.

Weitere Informationen finden Sie in der SpriteKit-Dokumentation .

Weitere Änderungen

Neben den wichtigsten Änderungen in iOS 8, die oben beschrieben werden, hat Apple auch viele vorhandene Frameworks aktualisiert. Dies sind unten aufgeführt:

  • Core Image – Apple hat sein Bildverarbeitungsframework erweitert, indem es bessere Unterstützung für die Erkennung von rechteckigen Bereichen und QR-Codes in Bildern hinzugefügt hat. Mike Bluestein untersucht dies in seinem Blogbeitrag mit dem Titel Image Detection in iOS 8

Nicht mehr unterstützte APIs

Mit allen Verbesserungen, die in iOS 8 vorgenommen wurden, sind eine Reihe von APIs veraltet. Einige davon sind unten aufgeführt.

  • UIApplication : Die Methoden und Eigenschaften, die zum Registrieren von Remotebenachrichtigungen verwendet werden, sind veraltet. Dies sind registerForRemoteNotificationTypes und enabledRemoteNotificationTypes.

  • UIViewController : Merkmale und Größenklassen haben die Methoden und Eigenschaften ersetzt, die zum Beschreiben der Schnittstellenausrichtung verwendet werden. Weitere Informationen dazu, wie Sie diese verwenden, finden Sie unter Einführung in Unified Storyboards .

  • UISearchDisplayController : Dieser Wurde in iOS8 durch UISearchController ersetzt.

Zusammenfassung

In diesem Artikel haben wir uns einige der neuen Features angesehen, die von Apple in iOS 8 eingeführt wurden.