Was ist neu für Entwickler in iOS 12 und Xcode 10?

Was Sie erstellen werden

Inmitten der ganzen Fanatik einer anderen WWDC hat Apple uns mit iOS 12 bekannt gemacht. Dies ist eine der fokussiertesten Versionen für Verbraucher und Entwickler, die sich auf die Optimierung der Leistung konzentrieren. Neben diesem Fokus auf Leistung und Optimierung bietet iOS auch einige Feature-Iterationen in vielen Bibliotheken, die wir kennen und lieben. Dies umfasst die Entwicklung von Emojis (mit Memojis), Siri-Abkürzungen, Augmented Reality und maschinelles Lernen. 

Für Entwickler hat sich Apple darauf konzentriert, seiner Community eine Fülle neuer Tools und SDKs zur Verfügung zu stellen, die die nächste Generation von iOS-Apps unterstützen. Entwickler erhalten auch eine Menge Verbesserungen an Xcode, und Apples neueste Frameworks - ARKit, Core ML und SiriKit - haben bedeutende Funktionserweiterungen erhalten.

Seit seiner Einführung im Jahr 2017 hat sich das maschinelle Lernen rasant weiterentwickelt. Core ML 2 erleichtert Mainstream-Entwicklern den Entwurf, das Training und das Testen von Modellen. ARKit 2, Apples zweite Iteration seiner Augmented-Reality-Bibliothek, ist eine weitere Bibliothek, die sich in diesem Jahr dank drei hervorstechender Neuerungen deutlich verbessert hat: 

  • geteilte Erfahrungen Multiplayer-AR-Erfahrungen ermöglichen
  • beharrliche Erfahrungen die das Speichern und Wiederherstellen von Staaten ermöglichen
  • 3D Objekterkennung zusätzlich zur 2D-Bewegtbildverfolgung. 

Apple hat auch die Benachrichtigungen verbessert, indem die Möglichkeit hinzugefügt wurde, Benachrichtigungen kontextabhängig zu gruppieren und zu priorisieren. Außerdem wurde das neue Framework "Password Auto-fill" für die Integration von Kennwortverwaltungs-Apps von Drittanbietern erstellt. 

Siri Shortcuts ist ein Zusatz von Apple zu SiriKit, mit dem Entwickler von Drittanbietern benutzerdefinierte, intelligente Verknüpfungen in Spotlight-Suche und Sperrbildschirm integrieren und mit ihrer Stimme diese benutzerdefinierte Aktion aufrufen können. 

Xcode 10 führt auch eine ganze Reihe neuer Verbesserungen ein, vom dunklen Modus bis zum Multi-Cursor-Bearbeitung, neue Quellcodeverwaltungs-Visuals im Quelltext-Editor und ein völlig neues Build-System. Xcode 10 unterstützt auch parallele Tests, wodurch die Zeit für das Durchführen von Tests drastisch reduziert wird.

Ziele dieses Artikels 

In diesem Artikel erfahren Sie alles über die neuen Änderungen, die iOS 12 für Entwickler bringt. Wir werden folgendes abdecken:

  • Maschinelles Lernen mit Core ML 2 und Natural Language Framework
  • Augmented Reality mit ARKit 2
  • interaktive Benachrichtigungen
  • Siri-Abkürzungen mit SiriKit
  • Authentifizierungsdienste und Passwort AutoFill
  • Xcode 10
  • andere Änderungen

Maschinelles lernen

Maschinelles Lernen, eingeführt in iOS 11, hat sich in diesem Jahr nicht bloß weiterentwickelt, sondern hat große Fortschritte in Richtung Mainstreaming des maschinellen Lernens gemacht. Die nächste Version von Core ML, Version 2, ist dem Thema Leistung und Geschwindigkeit entsprechend um 30% schneller, wobei die Größe der AI-Modelle um bis zu 75% reduziert wurde. Noch wichtiger ist, dass Apple die Bibliotheken und Tools drastisch vereinfacht hat, um die Akzeptanz für jedermann ohne vorherige mathematische oder maschinelle Lernvorgänge zu erleichtern. 

Core ML zeigte schon bei der Einführung viel Potenzial, wurde aber von der breiteren iOS-Entwicklergemeinde nicht angenommen. Mit der Einführung von Create ML in diesem Jahr (einem macOS-Framework) können jedoch Core ML-Modelle für den Einsatz in ihren Apps einfacher erstellt werden. Dieses neue Framework ist in die Spielplätze des neuen Xcode integriert und ermöglicht Ihnen die visuelle Interaktion mit den Workflows zur Modellerstellung in Echtzeit, indem Sie lediglich ein paar Zeilen Swift-Code hinzufügen. 

Neben dem umfangreichen Tiefenlernen mit über 30 Layer-Typen werden auch Standardmodelle wie Baumensembles, SVMs und verallgemeinerte lineare Modelle unterstützt. Da Core ML auf Low-Level-Technologien wie Metal und Accelerate aufbaut, nutzt CPU nahtlos CPU und GPU für maximale Leistung und Effizienz. (WWDC)

Viele Apple-Produkte nutzen Core ML 2 bereits, einschließlich Siri und Camera, durch ihre Computervision und das brandneue Natural Language-Framework. Das in iOS 12 neue Natural Language-Framework unterstützt die Analyse von Text in natürlicher Sprache, um bestimmte Metadaten abzuleiten, und wird zusammen mit Create ML zum Trainieren und Bereitstellen von benutzerdefinierten Verarbeitungsmodellen für natürliche Sprache verwendet. Weitere Informationen zum Erstellen und Ausführen von Core ML-Modellen finden Sie in den beiden folgenden Apple-Referenzdokumenten: 

  • Erfahren Sie mehr über das Erstellen von ML-Kernmodellen
  • Informationen zum Ausführen von Core-ML-Modellen

ARKit 2

ARKit, das im vergangenen Jahr ebenfalls erstmals angekündigt wurde, erlangte auf der diesjährigen WWDC einen großen Bekanntheitsgrad. ARKit 2 konnte dank drei hervorstechender Neuerungen sofort die Vorstellungen von Konsumenten und Technik einfangen:

  • gemeinsame AR-Erfahrungen
  • persistente AR-Erfahrungen 
  • 3D-Objekterkennungsfunktionen

Bei der diesjährigen WWDC-Keynote live auf der Bühne vorgeführt, können Sie durch gemeinsame AR-Erfahrungen mehrere Anwendungen gleichzeitig in die Augmented-Reality-Erfahrung integrieren. Mit anderen Worten, Sie können jetzt schnell Multiplayer-Augmented-Reality-Erlebnisse erstellen, bei denen Sie nicht nur mehrere Benutzer spielen können, sondern sogar Dritte, die dieselben Erlebnisse beobachten. 

Anhaltende AR-Erlebnisse ermöglichen es Entwicklern, Funktionen zu implementieren, um Sitzungen in einem bestimmten Zustand zu speichern und zu einem späteren Zeitpunkt wieder aufzunehmen. Das heißt, wenn Sie eine virtuelle Lego-Skulptur erstellen, können Sie den Status speichern und fortsetzen, und die virtuellen Objekte bleiben in demselben Raum und zu derselben Zeit bestehen, ohne dass Sie von vorne beginnen müssen. 

Schließlich wurden die Funktionen zur Erkennung und Verfolgung von 3D-Objekten seit ARKit 1.5 verbessert, sodass nun 2D-Bilder einschließlich beweglicher Objekte wie Postkarten, Zeitungen oder Zeitschriften vollständig verfolgt werden können. Sie können zum Beispiel eine Postkarte eines Ortes halten und die Karte verschieben, während ARKit Ihr Objekt ständig verfolgt und erkennt. Mit ARKit 2 können Sie auch bekannte 3D-Objekte wie Fernseher, Möbel oder Skulpturen erkennen. 

Gruppenbenachrichtigungen

Benachrichtigungen wurden in iOS 12 erheblich verbessert, da Nachrichten priorisiert und gruppiert werden können. Diese Funktion wird von Benutzern und Entwicklern schon lange erwartet. 

Die Möglichkeit, Benachrichtigungen kontextabhängig zu gruppieren, bietet Endbenutzern ein präziseres Benutzererlebnis, das Android-Benutzern seit vielen Jahren zur Verfügung steht. Benutzer können beispielsweise die Benachrichtigungsgruppierungen verwenden, sodass ein Konversationsthread in einer App oder Spielbenachrichtigungen Teil eines Gruppenpakets sind, anstatt dass einzelne Benachrichtigungen den gesamten Bildschirm einnehmen. Mit einem einzigen Wischvorgang können Benutzer stattdessen eine Gruppe von Kontextbenachrichtigungen abweisen.

Benachrichtigungen haben auch Priorität, so dass wichtige Benachrichtigungen wie Nachrichten, E-Mails oder eine Kalenderbenachrichtigung über den Social-Media-Benachrichtigungen angezeigt werden. Entwickler von Drittanbietern können eine Benachrichtigung auch als Warnung mit Priorisierung klassifizieren - mit Genehmigung des Apple-Überprüfungsteams.

SiriKit & Absichten

SiriKit hat auch in diesem WWDC mit Siri Shortcuts etwas Aufmerksamkeit erhalten. Diese Funktion schlägt intelligent Verknüpfungen vor, wenn sie benötigt werden, indem Benutzerroutinen und Verhaltensweisen zusammengestellt und vorhergesagt werden. Mit der neuen Shortcuts-API können Benutzer Aufgaben auf dem Sperrbildschirm oder im Suchbildschirm mithilfe dieser Shortcuts visuell oder über Siri-Voice-Shortcuts schnell und bequem erledigen sowie eigene Shortcuts erstellen. 

Ein Beispiel wäre, dass eine Kaffeeladenbenachrichtigung auf dem Sperrbildschirm erscheint, wenn der Benutzer morgens nach draußen geht und ein Minz-Mojito-Getränk bestellt. Neben dem visuellen Vorschlag kann der Benutzer Siri auch verwenden und sagen: „Mein Lieblingskaffeegetränk bei Philz bestellen“ oder eine benutzerdefinierte Abkürzung erstellen, die diese Aktion auslöst. 

Authentifizierungsdienste

Apple hat eine komplett neue AuthenticationServices-Bibliothek eingeführt, die Kennwortmanager wie LastPass oder 1Password mit der Kennwort-Autofillierung des Betriebssystems integriert. Bisher hatten Benutzer nur Zugriff auf Anmeldeinformationen, die im iCloud-Schlüsselbund gespeichert waren, und der Zugriff auf Passwörter von Drittanbietern, die in Apps wie 1Password gespeichert sind, bedeutete, dass Benutzer zwischen beiden Apps wechseln mussten, um den Benutzernamen und das Passwort zu erhalten.

In der QuickType-Leiste können Benutzer über die Kennwortverwaltungs-Apps von Drittanbietern auf ihre Anmeldeinformationen zugreifen. Entwickler haben auch die Möglichkeit, durch die Implementierung des Neuen ASWebAuthenticationSession Klasse, um Anmeldeinformationen zwischen einer aktiven Sitzung in Safari und Ihrer App zu teilen. Dies funktioniert als eine Art Kennwortübergabe. 

Xcode 10

Apple hat auch Entwickler über neue SDKs und Frameworks hinaus mit bemerkenswerten Verbesserungen an Xcode und der Xcode-Build-Toolchain ausgestattet. Der Quelltext-Editor hat zum Beispiel einige Verbesserungen im Refactoring vorgenommen, einschließlich der Bearbeitung mit mehreren Cursors, so dass Sie mehrere Codezeilen (d. H. Verschiedene Methoden) gleichzeitig bearbeiten können.

In Xcode 9 wurde erstmals die Integration mit GitHub eingeführt, von der Erstellung und dem Öffnen von GitHub-Repos aus der IDE bis zur Zusammenarbeit mit Code. Xcode 10 geht über GitHub hinaus und arbeitet mit zwei anderen bekannten Repository-Anbietern zusammen, GitLab und Bitbucket. 

Auf der Source-Editor-Seite werden Änderungen im lokalen Repository oder Upstream jetzt in der linken Spalte hervorgehoben. So können Sie schnell Änderungen am Code sowie noch nicht übertragene Änderungen, Upstream-Änderungen anderer und mögliche Konflikte sehen vor Commits angesprochen werden. Schließlich generiert Xcode 10 bei Bedarf SSH-Schlüssel und lädt sie für Sie in Ihr Quellcodeverwaltungs-Repository hoch. 

Mit der Einführung in die Toolchain führt Xcode 10 ein völlig neues Build-System für Entwickler ein. Entsprechend dem Thema der Konferenz werden Verbesserungen in Bezug auf Leistung und Geschwindigkeit erzielt. Beispielsweise können Entwickler, die ihre Apps in Simulator testen, jetzt die Test-Parallelisierung nutzen, dh die Möglichkeit, mehrere Tests gleichzeitig auszuführen. 

Neben Unit-Tests können Entwickler nun fortlaufende Integrationstests für viele verschiedene simulierte Gerätetypen ausführen, wodurch Klone eines einzelnen simulierten Geräts erzeugt werden. Dies führt zu Tests, die nur einen Bruchteil der Zeit ausmachen, die Xcode 9 benötigt. Entwickler können entweder die CPU ihres Macs für die parallele Durchführung der Tests nutzen oder einen anderen Mac im Netzwerk, auf dem Xcode Server gehostet wird, zuweisen, um das Erstellen und Testen parallel zu automatisieren. 

Apple ist jetzt veraltet drucken() Aussagen zugunsten der neuen OSLog Signpost-Anweisungen, die eine weitaus höhere Debugging-Geschwindigkeit im Vergleich zu drucken(). Entwickler können auch benutzerdefinierte Instrumente implementieren, um signifikante Punkte im gesamten Code zu markieren, die dann durch Hinweisschilder in Instrumenten verfolgt werden und neben anderen Analyseereignissen (wie z. B. CPU, Speicher oder Netzwerk) angezeigt werden. Dadurch erhalten Entwickler noch mehr Einblick in die Fehlerbehebung ihrer Apps. 

Xcode 10 enthält außerdem benutzerdefinierte Vorlagen, mit denen Entwickler ihre eigenen Instrumente mit benutzerdefinierten Visualisierungen und Datenanalysen erstellen können, die wiederverwendet und mit anderen Teammitgliedern geteilt oder mit Ihren Frameworks veröffentlicht werden können. An den Symbolen wurden noch einige kleinere Änderungen vorgenommen, z. B. das Verschieben des Bibliotheksinhalts in ein neues Überlagerungsfenster anstelle des unteren Bereichs des Inspektors. Es wurden auch andere kleinere Änderungen an den Interface Builder-Symbolen und dem Layout vorgenommen.

Andere Änderungen

iTunes Connect wurde entsprechend in App Store Connect umbenannt und mit einigen Verbesserungen versehen, um die Benutzeroberfläche effizienter und benutzerfreundlicher zu machen. Über die neue Weboberfläche können Entwickler Produktseiten mit Screenshots und Vorschauen erstellen, In-App-Käufe umschalten und Abonnements, Vorbestellungen und Einführungspreise festlegen.

Schließlich wurde TestFlight mit einer neuen Funktion namens TestFlight Public Link erweitert, die das Einladen von Personen zum Testen Ihrer App erheblich vereinfacht. Wo zuvor der Entwickler Benutzer manuell unter Verwendung seiner E-Mail-Adressen einladen musste, was ein umständlicher Prozess war, können Entwickler jetzt eine "offene Einladung" über eine öffentliche URL erstellen. 

Fazit

iOS 12 ist eine sehr fokussierte Version für Verbraucher und Entwickler mit dem Schwerpunkt auf der Leistungsoptimierung. Für Entwickler wurden Xcode und die Build- und Test-Tools mit Schwerpunkt auf Geschwindigkeit optimiert, und Apples neueste Frameworks wie ARKit, Core ML und SiriKit erhielten erhebliche Funktionserweiterungen. 

Innerhalb von zwei Jahren fangen wir an zu sehen, wie sich Apples Entwicklung im Bereich des maschinellen Lernens weiterentwickelt und ausgereift ist, wobei sich die Vorteile auf andere Technologie-Frameworks wie SiriKit, ARKit und Photos auswirken, die es Entwicklern ermöglichen, intelligentere Benutzererlebnisse zu schaffen. Noch wichtiger ist, dass sich maschinelles Lernen von einer Nischenbibliothek zu einer Bibliothek entwickelt hat, in der jeder Entwickler - unabhängig von der Erfahrung mit dem maschinellen Lernen - Modelle trainieren und implementieren kann. 

Mit der WWDC als Auftakt zu Apples Hardware-Ankündigungen im September wird es interessant sein, zu sehen, wie die Entwicklergemeinde ARKit in ihrer zweiten Wiederholung im Rahmen von Multiplayer-Spielen aufnimmt.