Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. iOS SDK

Aktualisieren Ihrer App für iOS 11

by
Read Time:21 minsLanguages:

German (Deutsch) translation by Władysław Łucyszyn (you can also view the original English article)

Final product imageFinal product imageFinal product image
What You'll Be Creating

Neben der Entwicklung von Funktionen und Fehlerkorrekturen müssen iOS-Entwickler die jährlichen Ankündigungen auf der WWDC im Auge behalten. Inmitten der bemerkenswerten neuen SDKs, die angekündigt wurden, müssen einige Änderungen an iOS-Entwicklern vorgenommen werden, damit ihre Apps plattformkonform bleiben.

Nachdem sich Swift zu Version 4 entwickelt hat und Verbesserungen und Änderungen am iOS SDK selbst vorgenommen wurden, müssen Entwickler die Änderungen sichten und eine Strategie für die Aktualisierung ihrer Codebasen entwickeln. Alles ohne die vorhandenen Features und Funktionen zu beeinträchtigen! Auf die Priorisierung Ihres Projekts kommt es an: Was müssen Sie mindestens tun, um Ihre App iOS 11-konform zu machen? Was ist der einfachste Fall, den Sie Ihrem Projektbeteiligten oder Projektmanager machen können?

Wichtige Funktionen stehen an erster Stelle, und als nächstes kommen die netten, aber nicht erforderlichen Verbesserungen, die iOS 11 mit sich bringt, von der Optimierung Ihrer Anwendung bis zur visuellen Ästhetik, die die Interaktion und Funktionalität Ihrer App weiter bereichert. In diesem Sinne führt Sie dieses Tutorial durch die Schritte zum Aktualisieren Ihrer App und verfolgt einen pragmatischen Ansatz für erforderliche und optionale Verbesserungen.

Ziele dieses Tutorials

Dieser Artikel bietet Ihnen einen Überblick über die Änderungen, die zum Aktualisieren Ihrer App für iOS 11 erforderlich sind, von architektonischen zu visuellen Änderungen sowie Änderungen im App Store. Darüber hinaus werden in diesem Lernprogramm die Abschnitte organisiert, angefangen von den erforderlichen Änderungen und dem erforderlichen Umfang und Aufwand bis hin zu den netten, aber nicht erforderlichen Funktionen, die Ihre App aufgrund von iOS 11 verbessern.

In diesem Tutorial werden wir Folgendes behandeln:

  • Vorbereitung Ihrer App (und Sie selbst) für iOS 11
  • architektonische Veränderungen
  • Änderungen im App Store veröffentlichen
  • Änderungen an der Benutzeroberfläche

Vorausgesetztes Wissen

In diesem Tutorial werden Vorkenntnisse in Swift oder Objective-C und Xcode sowie Kenntnisse der wichtigsten iOS-SDKs (z. B. UIKit und Core Foundation) vorausgesetzt.

Architektonische Veränderungen

Wie bei jeder Iteration von iOS sind die wichtigsten Änderungen normalerweise die architektonischen. Unter iOS 11 umfasst dies die Migration auf Swift 4, sodass die Aktualisierung der Build-Einstellungen für Xcode 9 die erste Aufgabe ist, die wir uns ansehen werden.

Inkrementelle Migration zu Swift 4

Wichtig | Erforderlich

Für diejenigen, die letztes Jahr von Swift 2 auf 3 migrieren mussten, war dieser Prozess äußerst schmerzhaft, und viele der Änderungen haben die vorhandene Codebasis zerstört. Zum Glück ist dies nicht der Fall, wenn Sie von Swift 3.2 auf 4 wechseln, da die meisten Chancen eher als additiv als als als veraltet angesehen werden. Daher führt das Xcode 9-Migrationstool eine bewundernswerte Aufgabe bei der Umstellung Ihres Codes auf den neuesten Swift aus.

Darüber hinaus werden Sie im Gegensatz zu früheren Versionen nicht gezwungen sein, das Upgrade auf 4 auf einmal durchzuführen. Das heißt, Xcode-Projekte unterstützen gleichzeitig Swift 4 und Swift 3.2. Dies bedeutet, dass Sie ein Ziel in Ihrer Projektkompilierung unter Swift 3.2 und ein anderes in Swift 4 kompilieren können. Das Migrationstool informiert Sie darüber, welche Klassen und Funktionen erfolgreich migriert wurden , und welche erfordern Ihre manuelle Intervention, um sie in Form von Fehlern oder Warnungen zu beheben.

Die Fehler bedeuten, dass Sie etwas beheben müssen, das nicht abwärtskompatibel ist, während viele der Warnungen darauf hinweisen, dass Swift 4 eine neue Möglichkeit bietet, etwas zu tun, z. B. neue API-Änderungen. Beheben Sie die Fehler und priorisieren Sie die oben genannten Warnungen als separate Aufgabe.

Um auf das Migrationstool zuzugreifen, gehen Sie in Xcode zu Bearbeiten > Konvertieren > In aktuelle Swift-Syntax und befolgen Sie die Anweisungen, um die Ziele auszuwählen, die Sie zu diesem Zeitpunkt migrieren möchten.

The Xcode Migration Tool modal prompt screenThe Xcode Migration Tool modal prompt screenThe Xcode Migration Tool modal prompt screen

Das Migrationstool informiert Sie über den Mindestaufwand für die Neukompilierung Ihrer App. Daher sollte es nicht überraschen, dass die empfohlene Best Practice darin besteht, die App schrittweise von 3 auf 4 zu migrieren in großen Projekten Ziel für Ziel testen und konvertieren. Sie müssen nicht alles auf einmal migrieren und können Ihren Migrationspfad schrittweise planen, wo und wann immer dies erforderlich ist.

Als nächstes werden wir einen kurzen Blick auf die Änderungen in Swift 4 werfen, die nicht zwingend implementiert werden müssen, aber gut zu wissen sind.

32-Bit-Architekturverfall

Wichtig | Erforderlich

Eine weitere wichtige Änderung in iOS 11 ist, dass alle Apps im App Store jetzt 64-Bit sein müssen, da 32-Bit-Apps nicht mehr unterstützt werden und tatsächlich nicht einmal auf Geräten mit iOS 11 funktionieren Dies sollte nicht überraschen, da Apple Entwickler schon seit einiger Zeit warnt. Falls Ihre App jedoch noch nicht übergegangen ist, können Sie die Richtlinien von Apple zum Konvertieren Ihrer App in eine 64-Bit-Binärdatei befolgen.

Was ist neu in Swift 4?

Nicht wichtig | Optional

Abgesehen von der obligatorischen Arbeit, die erforderlich ist, damit Ihr Ziel Swift 4-kompatibel wird, haben Sie die Möglichkeit, Ihren vorhandenen Code umzugestalten, um die neuen Swift-API-Änderungen zu nutzen, die nach den folgenden Verbesserungen auf API-Stufe unterteilt sind:

Strings

String hat in Swift 4 viel Aufmerksamkeit erhalten. Die bemerkenswerteste Änderung ist die Rückkehr zu Swift 1.0, wo Strings erneut als Sammlungen definiert werden, sodass Sie ein String-Objekt zeichenweise(SE-0163) mit a durchlaufen können für Schleife. Andere bemerkenswerte Änderungen an der Strings-Klasse sind:

Sammlungen

Wörterbücher und Sets als Teil von Sammlungen wurden ebenfalls in Swift 4 überarbeitet, beginnend mit der Filterung von Wörterbüchern, die bisher eine Reihe von Tupeln aus Schlüssel / Wert-Paaren zurückgaben. Um auf ein bestimmtes Element zuzugreifen, verwenden Sie wie in einem Array den folgenden Index:

In Swift 4 erhalten Sie stattdessen ein Wörterbuch zurück, das eine konsistentere Syntax bietet, und anschließend greifen Sie wie bei einem normalen Wörterbuch auf das zurückgegebene Wörterbuch zu. Das gleiche gilt jetzt für die Funktion map(), bei der Sie auch ein Wörterbuch zurückerhalten. Neu bei Indexen mit Wörterbuchzugriff können Sie einen Standardwert angeben, falls der Schlüssel nicht vorhanden ist, um Ihren Code sicherer zu machen.

Die restlichen Änderungen für Sammlungen umfassen:

Andere bemerkenswerte Änderungen

Schließlich gibt es einige verschiedene Änderungen, die im Rahmen dieser Version in Bezug auf die Sprache erwähnenswert sind:

Die vollständige Liste der Änderungen und Originalvorschläge finden Sie auf Swift.org.

Änderungen im App Store-Publishing

iOS 11-Benutzer des App Store hätten bereits bemerkt, dass er ein völlig neues Design mit völlig neuen Abschnitten aufweist, das Entwicklern neue Möglichkeiten bietet, ihre Apps zu bewerben und mit ihren Benutzern zu kommunizieren.

The new App Store Today Screen source AppleThe new App Store Today Screen source AppleThe new App Store Today Screen source Apple

Zunächst werfen wir einen Blick auf das neue Marketing-Symbol, das Sie jetzt mit Ihren App-Aktualisierungen hochladen müssen.

Marketing-Symbol

Obligatorisch | Höhere Priorität

Ab iOS 11 müssen Sie für alle neuen Einreichungen, unabhängig davon, ob Ihre App neu oder bereits vorhanden ist, ein icon-1024.png einfügen - ein Marketing-Symbol in der Größe 1024 x 1024. Praktischerweise müssen Sie das Symbol nicht über iTunes Connect, sondern über Xcode senden, indem Sie zu images.xcassets gehen und das Bild mit der entsprechenden Größe hinzufügen, genauso wie Sie Ihre anderen Symbole verwalten:

You add the Marketing Icon in XcodeYou add the Marketing Icon in XcodeYou add the Marketing Icon in Xcode

Das Marketing-Symbol wird als Teil des neuen App Store-Designprozesses verwendet, um ein größeres Bildsymbol anzuzeigen, das Ihre App im Abschnitt "Heute" oder in anderen Abschnitten, in denen die App-Grafik vergrößert ist, darstellt.

In-App-Käufe fördern

Optional | Geringere Priorität

Apple hat den Prozess der In-App-Käufe bekannter und transparenter gemacht, sodass Benutzer alle In-App-Kauf-Optionen direkt über dieselbe Ebene wie die App-Produktanzeige anzeigen und sogar einen In-App-Kauf für die App starten können App beim Herunterladen der eigentlichen App. Stellen Sie sich eine Abonnement-App vor, bei der Benutzer, die Ihre App herunterladen, möglicherweise bereits ihr Abonnement erwerben möchten. iOS 11 macht dies schneller und bequemer.

Ab iOS 11 können Entwickler bis zu 20 In-App-Käufe wie Abonnements auf der Produktseite ihrer App bewerben. Diese Kaufoptionen werden auch in den Suchergebnissen angezeigt.

Durch die Förderung von In-App-Käufe können auch Downloads Ihrer App gefördert werden. Wenn ein Benutzer Ihre App nicht installiert hat, aber einen beworbenen In-App-Kauf kaufen möchte, wird er aufgefordert, die App zuerst herunterzuladen. Sobald die App heruntergeladen wurde, wird die Transaktion in der App fortgesetzt.(Apple)

Marketing in-app purchases more visibly in the App Store source AppleMarketing in-app purchases more visibly in the App Store source AppleMarketing in-app purchases more visibly in the App Store source Apple

Um eine bessere Sichtbarkeit der In-App-Kauf-Werbung zu ermöglichen, müssen Sie in iTunes Connect die folgenden Metadaten angeben:

  • Bild: Dies ist das einzigartige Werbebild, das Ihren In-App-Kauf darstellt und auf Ihrer App Store-Produktseite, den Registerkarten Heute, Spiele und Apps sowie in anderen wichtigen Bereichen angezeigt wird. Dies sollte nicht aus einem Screenshot bestehen oder das Symbol Ihrer App darstellen, sondern vielmehr die Funktionsweise des In-App-Kaufs. Das Bild sollte auch im PNG-Format und von hoher Qualität mit Abmessungen von 1024 x 1024 sein.
  • Name: Der Anzeigename des In-App-Kaufs, bestehend aus maximal 30 Zeichen. Dies sollte spezifisch sein und der Funktion dieses spezifischen In-App-Kaufs entsprechen. Wenn es sich um ein Abonnement handelt, sagen Sie dies und stellen Sie sicher, dass die Dauer des Abonnements im Titel enthalten ist, z. B. "Einmonatiges All-Access-Abonnement".
  • Beschreibung: Beschreibungen mit einer Länge von 45 Zeichen bieten den Benutzern einen Kontext, in dem sie die Vorteile Ihres spezifischen In-App-Angebots verstehen und schätzen können.

Weitere Informationen zum Bewerben Ihres In-App-Kaufs finden Sie in den offiziellen Richtlinien von Apple sowie auf den Richtlinien auf der Produktseite von Apple.

Kommunikation mit Ihren Kunden

Optional | Geringere Priorität

Etwas, das definitiv längst überfällig ist und das Android-Entwickler seit geraumer Zeit genießen, ist die Möglichkeit, direkt auf Benutzerkommentare zu reagieren. Ab iOS 11 können Entwickler jetzt auch direkt auf die Bewertungen und Kommentare ihrer Benutzer reagieren. Dies erfordert zwar keine technischen Änderungen und die Teilnahme ist optional. Entwickler über iTunes Connect (App > Aktivität > Bewertungen) können jedoch sowohl auf Lob als auch auf Kritik reagieren.

Developers can now respond to comments and reviews in the App Store source AppleDevelopers can now respond to comments and reviews in the App Store source AppleDevelopers can now respond to comments and reviews in the App Store source Apple

Individuelle Entwicklerantworten können genutzt werden, um engere und engere Beziehungen aufzubauen und ein tieferes Engagement zu fördern, indem gezeigt wird, dass ihr Feedback überprüft und beantwortet wird und die von ihnen angesprochenen Probleme aktiv angehört werden. Um auf Kommentare zu antworten, gehen Sie einfach zu iTunes Connect, wo Sie das Feedback anzeigen und individuell antworten können.

Neben der neuen Funktion für Entwicklerkommentare hat Apple auch ein neues formalisiertes SDK bereitgestellt, mit dem Benutzer aufgefordert werden, Apps zu bewerten und zu überprüfen. Der neue SKStoreReviewController sollte anstelle von Drittanbietern oder manuellen Aufforderungen von Benutzern zur Überprüfung verwendet werden, da Apple möchte, dass das Betriebssystem die Häufigkeit der Eingabeaufforderungen sowie deren visuelles Erscheinungsbild steuern kann. Apple wird die Eingabeaufforderungen innerhalb von 365 Tagen auf höchstens drei Mal beschränken.

Um SKStoreReviewController zu implementieren, importieren Sie einfach StoreKit und rufen Sie requestReview() auf, wie unten gezeigt:

Apple hat die anderen Methoden zur Aufforderung von Benutzern zur Rückmeldung nicht vollständig verboten. Erwarten Sie jedoch, dass sich dies in naher Zukunft ändern wird. Daher sollten Sie im nächsten Jahr über die Implementierung der Apple-Engine zur sofortigen Überprüfung nachdenken.

Weitere Informationen finden Sie in den Richtlinien zu Bewertungen, Bewertungen und Antworten von Apple.

Inkrementelle Rollouts

Optional | Geringere Priorität

Eine weitere sehr nützliche Funktion, die iOS 11 Entwicklern bietet, ist die Möglichkeit, ihre Apps schrittweise für Benutzer freizugeben. Apple nennt diese schrittweise Veröffentlichung. Sie soll das Risiko einer gleichzeitigen Überlastung der Produktionsumgebung verringern und stattdessen die Release-Aktualisierungen über einen Zeitraum von sieben Tagen bereitstellen.

Developers can now roll-out an app in phases over a 7-day periodDevelopers can now roll-out an app in phases over a 7-day periodDevelopers can now roll-out an app in phases over a 7-day period

Unter Version Release in iTunes Connect gibt es einen neuen Abschnitt namens Phased Release für automatische Aktualisierungen, in dem Sie entweder sofort oder über einen Zeitraum von sieben Tagen veröffentlichen können. Entwickler können den schrittweisen Roll-out auch für bis zu 30 Tage anhalten. Dies ist normalerweise der Fall, wenn ein schwerwiegendes Problem entdeckt und gemeldet wird.

A chart demonstrating the percentage of users receiving the app split over a 7-day periodA chart demonstrating the percentage of users receiving the app split over a 7-day periodA chart demonstrating the percentage of users receiving the app split over a 7-day period

Das schrittweise Roll-out verhindert nicht, dass Benutzer das Aktualisieren manuell aus dem App Store erhalten, sondern richtet sich an Benutzer, die die automatische Download-Einstellung für iOS im App Store verwenden.

Schauen wir uns als Nächstes die visuellen Änderungen an, die im Rahmen von iOS 11 eingeführt wurden, während wir sowohl die wichtigen als auch die weniger wichtigen Themen behandeln.

Änderungen an der UI

Nachdem wir uns die Änderungen in der Architektur sowie im App Store für iOS 11 angesehen haben, können wir nun die visuellen Änderungen analysieren und Ihnen dabei helfen, Prioritäten zu setzen, welche Änderungen an der Benutzeroberfläche zuerst angegangen werden sollten.

Obwohl wir unsere iOS-Apps sicherlich erstellen könnten, ohne die Änderungen in diesem Abschnitt zu implementieren und nur die Änderungen in der Architektur und im App Store zu berücksichtigen, möchten Sie möglicherweise zunächst sicherstellen, dass Ihre App das neue iPhone X visuell unterstützt. Dies bedeutet Änderungen an den Navigationsleisten, um die neue physische "notch" oben zu adressieren.

In diesem Sinne werden wir uns zunächst mit der Aktualisierung Ihrer Benutzeroberfläche für das iPhone X befassen, gefolgt von einigen weiteren schnellen Änderungen, die sicherstellen, dass Ihre App modern und aktuell erscheint.

Aktualisieren Ihrer Benutzeroberfläche für iPhone X.

Obligatorisch | Höhere Priorität

Eine der wichtigsten Aufgaben beim Aktualisieren Ihrer iOS-App besteht darin, sicherzustellen, dass Ihre App gut aussieht und auf den neueren Geräten gut funktioniert, ohne die vorherige Geräteunterstützung zu beeinträchtigen. Aus diesem Grund hat Apple sehr hart daran gearbeitet, Entwicklern Tools wie das automatische Layout zur Verfügung zu stellen, mit denen sie bildschirmunabhängige Layouts entwerfen können, sei es das iPhone 4, 5C oder das 6 und 6 Plus. Seit diesem Jahr haben wir ein Telefon, das nicht nur neue Dimensionen hat, sondern auch eine physische Kerbe oben hat.

The top notch of the iPhone XThe top notch of the iPhone XThe top notch of the iPhone X

Beachten Sie, dass wir kein rechteckiges Ansichtsfenster mehr haben. Wie empfiehlt Apple Ihnen, mit der neuen Kerbe oben für die physischen Sensoren umzugehen? Zum einen möchte Apple nicht, dass Sie oben schwarze Balken platzieren, um die Kerbe zu verbergen! Stattdessen plädieren sie dafür, dass Entwickler es annehmen.

Maskieren Sie die wichtigsten Anzeigefunktionen nicht und lenken Sie keine besondere Aufmerksamkeit darauf. Versuchen Sie nicht, die abgerundeten Ecken, das Sensorgehäuse oder die Anzeige des Geräts für den Zugriff auf den Startbildschirm auszublenden, indem Sie schwarze Balken oben und unten auf dem Bildschirm platzieren. Verwenden Sie auch keine visuellen Verzierungen wie Klammern, Rahmen, Formen oder Anweisungen, um besondere Aufmerksamkeit auf diese Bereiche zu lenken. (Richtlinien für die Benutzeroberfläche von iOS)

Sie müssen für das Vollbild-Erlebnis entwerfen und das Design ohne Rahmen des neuen Geräts nutzen, ohne Teile Ihrer Benutzeroberfläche mit den abgerundeten Ecken des Geräts oder dem Sensorgehäuse(Kerbe) zu verdecken.

The layout of the iPhone X along with the safe areas Auto-Layout source iOS Human Interface GuidelinesThe layout of the iPhone X along with the safe areas Auto-Layout source iOS Human Interface GuidelinesThe layout of the iPhone X along with the safe areas Auto-Layout source iOS Human Interface Guidelines

Die gute Nachricht ist, dass Apples vom System bereitgestellte UI-Elemente von UIKit wie die UINavigationBar bereits sofort den neuen Designanforderungen entsprechen und sich diesen anpassen. Für alle benutzerdefinierten UI-Elemente müssen Sie die Konformitätsarbeit jedoch selbst ausführen.

Comparing the UI elements on the iPhone 47 versus the iPhone X source iOS Human Interface GuidelinesComparing the UI elements on the iPhone 47 versus the iPhone X source iOS Human Interface GuidelinesComparing the UI elements on the iPhone 47 versus the iPhone X source iOS Human Interface Guidelines

Wenn Sie sich die Bilder des iPhone 4.7 im Vergleich zum neuen iPhone X oben ansehen, werden Sie feststellen, dass die Statusleiste jetzt anders implementiert ist, beginnend mit ihrer Höhe, die auf dem iPhone X von 20 auf 44 Punkte gestiegen ist.

Apple schlägt vor, dass App-Entwickler, die ihre Statusleisten ausgeblendet haben, diese Entscheidung im Lichte des iPhone X überdenken und sie nur im Querformat und nicht im Hochformat ausblenden sollten.

Verwenden Sie abschließend die Richtlinien für das Layout sicherer Bereiche, indem Sie Auto-Layouts als Hauptmaßnahme verwenden, um sicherzustellen, dass Ihre App innerhalb der entsprechenden Ränder passt und keine visuellen Hindernisse wie das Überlappen der Statusleiste oder der Navigationsleiste gewährleistet sind.

iPhone X Safe Areas source iOS Human Interface GuidelinesiPhone X Safe Areas source iOS Human Interface GuidelinesiPhone X Safe Areas source iOS Human Interface Guidelines

Die folgenden WWDC-Videos sind zwei hervorragende Ressourcen, die Ihnen den Einstieg in das Design für das iPhone X erleichtern:

Drag-and-Drop implementieren

Optional | Geringere Priorität

Eines der am meisten diskutierten neuen SDKs auf der diesjährigen WWDC ist Drag-and-Drop. Dies ist etwas, an das Desktop-Benutzer seit langer Zeit gewöhnt sind, aber das Fehlen auf der iOS-Plattform bedeutete, dass iPad und iPhone Multitasking nie wirklich angenommen haben. In iOS 11 hat sich dies geändert, da das neue iOS das Ziehen von UI-Elementen nicht nur auf demselben Bildschirm, sondern von einer Anwendung zur anderen unterstützt.

Drag Drop on the iPad source Apple - Drag DropDrag Drop on the iPad source Apple - Drag DropDrag Drop on the iPad source Apple - Drag Drop

Mithilfe der Multi-Touch-Engine von iOS können Benutzer mühelos Inhalte auf natürliche Weise zwischen Apps auf dem iPad (oder nur auf demselben Bildschirm auf dem iPhone) verschieben, indem sie auf ein Bild, eine Datei, einen Text oder ein bestimmtes UI-Element tippen und es gedrückt halten, um es zu ziehen es. Dies ist bereits systemweit in iOS integriert, sodass Benutzer beispielsweise Text aus Safari in die Erinnerungs-App des Docks ziehen können, um ein neues Erinnerungselement zu erstellen.

Dies wurde nicht als obligatorisch für die Implementierung gekennzeichnet. Da es jedoch aufgrund seiner systemweiten Verbreitung schnell zu einem erwarteten Verhalten wird, wird empfohlen, dies eher früher als später zu priorisieren, damit Sie die UX Ihrer App erstellen können entsprechen dem neuen Standardsystem-UX-Verhalten.

UIKit verfügt über eine integrierte Drag-and-Drop-Unterstützung für Komponenten wie UITables und UICollectionViews. Sie müssen jedoch die Elemente mit Code überbrücken und anpassen, damit andere Komponenten die gezogene Komponente empfangen können. Dies kann etwas kompliziert sein und liegt außerhalb des Rahmens dieses Artikels, aber ich werde die Drag-and-Drop-Unterstützung in einem Follow-up-Beitrag nächste Woche ausführlicher behandeln.

Im Moment würden Sie Drag-and-Drop in der viewDidLoad()-Methode Ihres ViewControllers hinzufügen und unterstützen, indem Sie die beiden unten gezeigten Delegaten implementieren:

In unserem nächsten Artikel erfahren Sie, wie Sie Ihrer iOS 11-App Drag-and-Drop-Unterstützung hinzufügen können.

Andere UIKit und Auto Layout Änderungen

Optional | Geringere Priorität

Schauen wir uns zum Schluss die verbleibenden UIKit-Änderungen an, die neu in iOS 11 sind, beginnend mit der UINavigationBar, die einige bemerkenswerte Verbesserungen aufweist, einschließlich der Integration von SearchViewController und großer Titel. Anschließend werfen wir einen Blick auf die Verbesserungen von UITableView, von den neuen und verbesserten Wischaktionen bis hin zu Zellen mit Tabellenansicht, deren Größe automatisch angepasst wird.

Navigation

Wir haben bereits früher auf Navigationsleisten eingegangen, als wir über das iPhone X und dessen Ausrichtung auf die neuen Abmessungen der Statusleiste gesprochen haben. Darüber hinaus umfasst der neue zeitgenössische Designstil, für den in iOS empfohlen wird, neue größere Titel in Navigationsleisten, die zuerst in der Apple Music App in iOS 10 zu sehen sind und seitdem ein etabliertes Designmuster für alle anderen System-Apps in iOS darstellen.

Large title bars on the iPhone X Navigation Bar source iOS Human Interface GuidelinesLarge title bars on the iPhone X Navigation Bar source iOS Human Interface GuidelinesLarge title bars on the iPhone X Navigation Bar source iOS Human Interface Guidelines

Der größere Titeltext betont den Kontext des Bildschirms in einer Navigationsleiste stärker und hilft Benutzern, sich beim Navigieren durch die verschiedenen Registerkarten an der aktiven Registerkarte zu orientieren. Die Größe des Titeltextes ist nicht statisch, sondern verringert sich, wenn der Benutzer nach unten scrollt und zum Stil vor iOS 11 zurückkehrt. Wenn Sie in einer Bildlaufansicht nach unten ziehen, wird der Titeltext umgekehrt leicht erhöht.

Verwenden Sie einen großen Titel, wenn Sie den Kontext besonders hervorheben möchten. In einigen Apps kann der große, fette Text eines großen Titels dazu beitragen, die Benutzer beim Durchsuchen und Suchen zu orientieren. In einem Layout mit Registerkarten können beispielsweise große Titel dazu beitragen, die aktive Registerkarte zu verdeutlichen und den Benutzer zu informieren, wenn er nach oben gescrollt hat. Das Telefon verwendet diesen Ansatz, während Musik große Titel verwendet, um Inhaltsbereiche wie Alben, Künstler, Wiedergabelisten und Radio zu unterscheiden. Ein großer Titel wird zu einem Standardtitel, wenn der Benutzer mit dem Scrollen von Inhalten beginnt. Große Titel sind nicht in allen Apps sinnvoll und sollten niemals mit Inhalten konkurrieren. Obwohl die Clock-App ein Layout mit Registerkarten hat, sind große Titel nicht erforderlich, da jede Registerkarte ein eigenes, erkennbares Layout hat. (Richtlinien für die Benutzeroberfläche von iOS))

Als Entwickler liegt es an Ihnen, zu entscheiden, ob und wann der große Textstil basierend auf den Richtlinien für die Benutzeroberfläche von Apple implementiert werden soll. Apple empfiehlt, die großen Texttitel nur für Navigationsbildschirme der obersten Ebene und nicht für alle Ebenen zu verwenden. Um großen Text zu aktivieren, fügen Sie Ihrem UINavigationController einfach die folgende Eigenschaft hinzu:

Hierarchisch wird sowohl für den Master- als auch für den Detailansichts-Controller unter der Navigationsleiste der Großtextmodus aufgrund der übergeordneten Vererbung standardmäßig aktiviert. Wie bereits erwähnt, ist es ratsam, nur den Navigationsbildschirm der obersten Stufe den Großtextmodus zu implementieren. Um die große Textvererbung in Ihrem Detailbildschirm zu unterdrücken, rufen Sie Ihren Ansichts-Controller auf und fügen Sie dem Initialisierer Folgendes hinzu (er muss zum Zeitpunkt der Initialisierung festgelegt werden):

Der obige largeTitleDisplayMode wird auf .never gesetzt. Ohne diese Zeile lautet der Standardwert .automatic. Hier erbt der Detailansichts-Controller die Eigenschaften seines übergeordneten Ansichts-Controllers.

View-Controller suchen

Die Suche kann jetzt direkt in Navigationsleisten integriert werden, ohne dass die UISearchViewController-Instanz separat mit dem Betreffansichts-Controller (und seiner Tabellenkopfansicht) verknüpft werden muss. Ab iOS 11 können Sie die Suchleiste elegant in die Navigationsleiste einbetten:

Sie müssen natürlich auch UISearchResultsUpdating anpassen, um auf Suchbegriffe reagieren zu können. Während iOS die Suchleiste basierend auf der Anzahl der Zeilen in Ihrer Tabellenansicht automatisch ausblendet, können Sie die Suchleiste durch Umschalten jederzeit sichtbar machen:

UITableViews

Abschließend werfen wir einen Blick auf zwei neue und herausragende Funktionen, die ab iOS 11 in UITableViews eingeführt wurden: Selbstgröße und verbesserte Wischaktionen. Die Selbstgröße wurde bereits in iOS 8 eingeführt, um den Entwicklern die manuelle Größenanpassung von Zellen in der Tabellenansicht zu erleichtern und die Zellen mithilfe des automatischen Layouts dynamisch an den Inhalt der Zeile anzupassen. Bisher mussten Sie explizit die automatische Größenanpassung anfordern, indem Sie:

Ab iOS 11 ist es standardmäßig ohne zusätzlichen Code aktiviert und festgelegt. Sie können jedoch bei Bedarf Ihre eigene Zeilenhöhe explizit angeben. iOS 11 hat auch neue führende und nachfolgende Swipe-Aktionen hervorgebracht, die in vielen System-Apps wie Apples eigener Mail-App verbreitet sind.

New Action swipes in iOS 11s UITableView source Cult of MacNew Action swipes in iOS 11s UITableView source Cult of MacNew Action swipes in iOS 11s UITableView source Cult of Mac

Sie können nicht nur nach links oder rechts wischen, sondern auch Bilder anhängen, um diese Aktionen zu verknüpfen. Sie implementieren zwei Delegate-Methoden als Teil der UIContextualAction für führende und nachfolgende Swipe-Aktionen:

Mit dem obigen Code können Sie mehr als eine Kontextaktion erstellen und zur Gruppierungsinstanz UISwipeActionsConfiguration für mehr als eine Aktion hinzufügen. Dies ist eine einfache, aber ansprechende Verbesserung, um Ihren Tabellenansichten mit minimalen Codeänderungen mehr Elastizität zu verleihen. Obwohl dies nicht obligatorisch ist, lohnt es sich, ihr einige Stunden in Ihrer Sprint-Planungstafel zuzuweisen.

Abschluss

In diesem Beitrag habe ich Ihnen einen Überblick über die Änderungen in der Architektur, im App Store und in den visuellen Komponenten von iOS 11 gegeben und Ihnen eine Vorstellung davon gegeben, was Sie sofort tun müssen und was bis zu einem späteren Zeitpunkt verschoben werden kann Zeit. Die Migration auf iOS 11 und Swift 4 wird viel einfacher sein als in den Aktualisierungen der Vorjahre.

Neben den bevorstehenden Änderungen, die vorgenommen werden müssen, haben wir auch die Swift 4-Änderungen zur Verbesserung von Zeichenfolgen und Sammlungen sowie die visuellen Verbesserungen von UITableView und Search Controller durchgearbeitet. Dies sollte es Ihnen erleichtern, Ihre Arbeit zu planen, um Aktualisierungen für Ihre App vorzunehmen!

Seien Sie gespannt auf meinen nächsten Beitrag zur Implementierung von Drag-and-Drop für Ihre iOS 11-Apps und lesen Sie in der Zwischenzeit einige unserer anderen Beiträge zu neuen Änderungen an iOS und Swift!

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.