Auf der diesjährigen Entwicklerkonferenz von Apple wurden wie zu erwarten die nächsten Hauptversionen der vier Betriebssysteme iOS, macOS, watchOS und tvOS vorgestellt. In diesem Beitrag wird der Fokus auf der Plattform iOS liegen. Nachfolgend sollen für die Entwicklung relevante Neuerungen für Apples mobiles Betriebssystem beleuchtet werden.

Neue Schnittstellen

Siri Shortcuts

Mehr als ein Jahr ist es bereits her, seit Apple die App Workflow für eine unbekannte Summe gekauft hat. Die App ist eine Art Baukasten, mit welcher sich verschiedene Aktionen in einen einzelnen „Workflow“ bündeln lassen. So lässt sich beispielsweise eine „Ich verspäte mich“ Nachricht generieren, die an alle Teilnehmer des aktuellen Kalendereintrags verschickt wird. Gleichzeitig wird in der Karten App die Navigation zum Ziel gestartet.

Workflow_screenshot Siri_Shortcuts

Abbildung 1: Vergleich der aktuellen Workflow Version aus dem App Store (links) mit der Siri Shortcuts Vorschau für iOS 12

Seitdem Apple die App im März 2018 akquiriert hatte, war es jedoch ruhig um Workflow geworden. Mit iOS 12 wird sich dies nun ändern – aus Workflow wird Siri Shortcuts. Während die Grundfunktionalität erhalten bleibt, sind gerade die neuen Möglichkeiten mit Siri besonders interessant. Den erstellten Workflows lassen sich nun etwa Siri Kommandos zuweisen. Außerdem können Entwickler mit Hilfe von sogenannten „Custom Intents“, die als INObjects in SiriKit zu finden sind, Shortcuts für ihre eigene App definieren.

Eine App, in welcher sich Tickets für Bus oder Bahn kaufen lassen, könnte beispielsweise einen Shortcut „Kaufe ein Ticket von meinem Standort nach zu Hause“ definieren, welcher den kompletten Kauf eines Tickets abwickeln könnte, ohne die App dabei öffnen zu müssen. Die Voraussetzung hierfür, wäre jedoch, dass der App das Zuhause des Nutzers bekannt ist. Entwickler können in ihrer App zusätzlich den neuen INUIAddVoiceShortcutViewController integrieren. Dieser bietet ein User Interface, welches die Vergabe eigener Kommandos für einen bestimmten Shortcut ermöglicht. So könnte der Nutzer den Shortcut in „Bereite meinen Heimweg vor“ umbenennen. Alleine dieses Kommando an Siri würde in diesem Szenario ausreichen, um den Ticketkauf abzuschließen.

An diesem Beispiel lässt sich allerdings auch veranschaulichen, wo Siri Shortcuts noch limitiert sind. Völlig dynamische Kommandos sind nämlich zum jetzigen Zeitpunkt nicht möglich. Für „Kaufe ein Ticket von meinem Standort zur Schillerstraße“ müsste ein weiterer Shortcut angelegt werden und für jede weitere Straße ebenfalls. Nichtsdestotrotz bieten Siri Shortcuts unheimlich viele Möglichkeiten und es wird interessant zu beobachten sein, wie Entwickler dieses neue Feature in ihre Apps integrieren.

Augmented Reality

Ein großer Fokus von iOS 12 liegt auf Augmented Reality. ARKit 2.0 bringt neue Multiplayer-Funktionen, durch welche es möglich sein wird, von mehreren Geräten die gleiche AR Session zu betrachten und in dieser zu interagieren. Dadurch sind gänzlich neue Arten von Spielen denkbar.
Mit dem neuen Dateiformat USDZ können zudem 3D-Modelle exportiert und importiert werden und auf iOS 12 Geräten in AR angezeigt werden. Darüber hinaus wurde ARKit mit Schnittstellen erweitert, um Objekte der realen Welt zu scannen und zu identifizieren.
Besonders interessant ist die Möglichkeit des Eye Trackings, durch das sich die Bewegungen der Augen in Echtzeit verfolgen lassen.

Machine Learning

Auch CoreML, Apples Machine Learning Framework, kommt mit iOS 12 in der zweiten Version. Apple verspricht hier neben einigen Neuerungen vor allem eine deutlich verbesserte Performance.

Das neue Natural Language Framework ermöglicht es Entwicklern, Text innerhalb der App mittels Machine Learning zu analysieren. Mit Hilfe eines NLLanguageRecognizers lässt sich die dominante Sprache innerhalb eines Strings bestimmen. Die Spracherkennung könnte genutzt werden, um automatisch die Übersetzung des Textes anzuzeigen, sofern es sich nicht um die Gerätesprache des Nutzers handelt.

Mit dem Natural Language Framework sind aber auch Analysen über Texte möglich, um einfache Statistiken zu generieren, wie die Anzahl der Wörter oder Sätze. Die NLTagger Klasse bietet außerdem die Möglichkeit, in einem String „Tags“ verschiedener Typen zu identifizieren. Dabei können zum Beispiel Namen, Orte oder Organisationsnamen in einem String bestimmt werden.

Während CoreML auf iOS Geräten weiterhin nicht genutzt werden kann, um Machine Learning Models zu erstellen, bietet das neue Create ML Framework für macOS Mojave genau diese Möglichkeiten.

In einer eigenen WWDC-Session wurden die Möglichkeiten von Create ML ausführlich gezeigt. Mit dem Framework können Machine Learning Models beispielsweise darauf trainiert werden, Bilder zu klassifizieren. Erstellt man über einen Xcode Playground einen MLImageClassifierBuilder, können Bilder zur Klassifizierung wahlweise per Drag and Drop oder programmatisch in den Playground eingefügt werden. In Apples Session wird gezeigt, wie das Machine Learning Model mit Bildern von Früchten trainiert wird. Nachdem es mit ausreichend Bildern gespeist wurde, wird es in eine iOS-App eingefügt, um dort Früchte auf Bildern zu erkennen und zu benennen.

createml

Abbildung 2: Ausschnitt aus der WWDC-Session „Introducing Create ML“

Neben der Bilderkennung lässt sich mit Create ML außerdem die Bedeutung von Text sowie das Verhältnis von numerischen Werten trainieren.

Sonstige Neuerungen

Mit dem neuen Network Framework können Netzwerkverbindungen aufgebaut werden, um direkten Zugriff auf Protokolle wie TLS, TCP und UDP zu erhalten. Für HTTP Aufrufe sollte jedoch weiterhin URLSession verwendet werden.

Für das UIKit gibt es in diesem Jahr nur einige wenige Neuerungen. Mit UITextInputPasswordRules Klassen können nun die unternehmensspezifischen Passwort-Regeln definiert werden, die von iOS berücksichtigt werden, wenn innerhalb einer App ein Passwort vorgeschlagen wird. Indem die Passwörter generiert und gleichzeitig Regeln, die durch das Backend vorgegeben sind, berücksichtigt werden, wird der Schutz vor Missbrauch deutlich verstärkt. Dazu muss lediglich eine UITextInputPasswordRules Instanz auf einem UITextField gesetzt werden. Um Passwortvorschläge auf einer UITextField Instanz zu erhalten, muss außerdem als textContentType .newPassword gesetzt sein.

UITextField bietet darüber hinaus einen gänzlich neuen textContentType oneTimeCode. Setzt man diesen Parameter, werden eingehende SMS auf Codes für Zweifaktor-Authentifizierung gescannt und direkt in das Textfeld eingefügt.

Mit dem neuen überarbeiteten Notification System in iOS 12 ergeben sich auch neue Möglichkeiten für Entwickler, um eine Gruppierung von Notifications vorzunehmen.

Deprecations

Seit der Einführung von WebKit mit iOS 8 rät Apple Entwicklern, die WKWebView zu verwenden, um Webseiten innerhalb einer App anzuzeigen. Die alte UIWebView wird von vielen Entwicklern jedoch bis heute benutzt. Mit iOS 12 wird die UIWebView nun jedoch deprecated. Bereits mit iOS 13 könnte Apple diese komplett aus UIKit entfernen, weshalb Entwickler in ihren Apps spätestens jetzt auf die WKWebView umsteigen sollten.

Während sich der Aufwand hier vermutlich in Grenzen hält, gilt dies nicht für OpenGL. Apple möchte, dass Spiele und sonstige grafische Aufbereitungen ab sofort mit dem hauseigenen Framework Metal entwickelt werden. OpenGL wird mit iOS 12 zwar weiterhin funktionieren, wurde allerdings ebenfalls als deprecated markiert, weshalb Entwickler zeitnah von OpenGL auf Metal umstellen sollten.

Weitere Änderungen

Das neue iOS 12 bringt auch überarbeitete App Store Guidelines mit sich. Zukünftig wird es für Apps, die sich nicht über ein Abomodell finanzieren, möglich sein, die kostenpflichtige App über einen begrenzten Zeitraum kostenlos testen zu lassen. Dies soll über einen kostenlosen In-App-Kauf geschehen.

Eine weitere Neuerung betrifft die Beschreibung von App Updates. Der Update Text muss ab iOS 12 klar erläutern, welche neuen Features in die App integriert wurden. Generische Update Beschreibungen werden nur noch akzeptiert, wenn sie Bugfixes, Sicherheitsupdates oder Performance Verbesserungen betreffen. Apple geht mit diesem Schritt gegen die Entwicklung der letzten Monate vor, in der jedes Update mit dem gleichen Beschreibungstext versehen wurde.

Apple vereinfacht mit iOS 12 das App Beta Testing. Testnutzer müssen mit dem neuen Feature „TestFlight Public Link“ nicht mehr manuell eingeladen werden. Stattdessen wird es möglich sein, Nutzer über eine URL zu Test Flight einzuladen. Dadurch können auch große Gruppen schnell und einfach organisiert werden. Mit TestFlight Public Link ist es sogar möglich, bis zu 10.000 Tester zu einer App einzuladen. Für Entwickler soll es darüber hinaus möglich sein, Gruppen von Testern zu erstellen und bestimmte Builds einzelnen Gruppen zur Verfügung zu stellen.

Entwickler von Apps, die In-App-Käufe ermöglichen, wird besonders folgende Neuerung freuen: Mit iOS 12 ist es möglich, sich in einen Sandbox App Store Account einzuloggen, welcher nur für Anfragen gegen die App Store Testumgebung verwendet wird. Es ist zukünftig also nicht mehr notwendig, sich manuell aus- und einzuloggen, um In-App-Käufe zu testen.

Referenzen:

[1]: https://developer.apple.com/documentation/naturallanguage/nltag?language=objc
[2]: https://www.swiftbysundell.com/daily-wwdc/a-first-look-at-the-natural-language-framework
[3]: https://flawlessapp.io/wwdc18#arkit
[4]: https://www.hackingwithswift.com/articles/121/whats-new-in-ios-12
[5]: https://medium.com/the-traveled-ios-developers-guide/ios-12-notable-uikit-additions-b50beb0e3729
[6]: https://www.macrumors.com/2018/06/04/apple-revamps-app-store-guidelines-ios-12/
[7]: https://developer.apple.com/app-store/review/guidelines/
[8]: https://9to5mac.com/2018/06/07/testflight-public-link-wwdc/

Posted in Technical | Leave a comment

CEBIT
Mit dem vom Bundesministerium für Bildung und Forschung (BMBF) geförderten Projekt Daten-Souveränitäts-Manager (DaSoMan) präsentiert sich das Konsortium um let’s dev GmbH & Co. KG, die Mondata GmbH, das Deutsches Forschungszentrum für Künstliche Intelligenz GmbH (DFKI) und die Rechtsanwaltskanzlei DURY Rechtsanwälte auf der CEBIT in Hannover. Besuchen Sie uns in Halle 27 am Stand A52, informieren Sie sich über das Forschungsvorhaben und verschaffen Sie sich einen Einblick über den aktuellen Entwicklungsstand anhand des dort vorgestellten Demonstrators. Wir freuen uns auf Ihren Besuch!

Posted in Corporate | Leave a comment