Kapitel 17 Für das iPad entwickeln und mit echten Geräten arbeiten

Inhalt

Bisher haben Sie Programme als Kommandozeilenanwendungen unter MacOS X und auf dem iPhone-Simulator ausgeführt. Jetzt erfahren Sie, welche technischen Hürden Sie nehmen müssen, um eine App für das iPad zu entwickeln. Die kurze Antwort lautet, dass Sie nur sehr wenige Hürden nehmen müssen, denn Swift funktioniert auf dem iPhone und dem iPad sehr ähnlich. Viele Sachen funktionieren sogar identisch.

Darum geht in diesem Kapitel zunächst darum, eine App auf dem iPad zum Laufen zu bringen. Dafür habe ich die Passwort-App aus Abschnitt 14.2 ausgewählt, die Sie mit einer eigenen grafischen Oberfläche ausstatten werden.

Bis zur Version 7 musste jeder Entwickler, der seine App auf einem echten iPhone oder iPad testen wollte, dem kostenpflichtigen Entwicklerprogramm von Appple beitreten. Ab Xcode 7 hat jeder Entwickler die Möglichkeit, nur mit einer Apple-ID ohne kostenpflichtige Mitgliedschaft seine App auf einem echten iPhone oder iPad zu testen. Dies möchte ich anschließend beschreiben.

17.1 Was macht das iPad besonders?

Ich habe oben geschrieben, dass die technischen Unterschiede zwischen iPhone und iPad sehr gering sind. Die Situationen, in denen Benutzer mit den Geräten arbeiten, sind hingegen sehr unterschiedlich. Ein paar Charakteristika, die Sie bei Apps für das iPhone berücksichtigen sollten, sind:

Für das iPad sind einige Charakteristika gleich, zum Beispiel dass die Internet-/Datenverbindung jederzeit abbrechen oder gar nicht vorhanden sein kann. Es gibt aber auch Unterschiede:

Die Unterschiede in der Bedienung sind also durchaus erheblich und dies erklärt, warum viele Apps, die es sowohl für das iPhone als auch das iPad gibt, sich deutlich unterscheiden.


Tipp
Wenn Sie eine App entwickeln, überlegen Sie sich vorher, in welchen Situationen sie eingesetzt wird und was die wichtigsten Aufgaben sind, die die Benutzer erledigen. Erst dann entscheiden Sie, ob Sie eine App für iPhone oder iPad (oder beides) entwickeln und wie Sie sie am besten gestalten.

17.2 Passwörter auf dem iPad

Zunächst einmal habe ich zwei gute Nachrichten für Sie:

1. Genauso wie das iPhone kann der iOS-Simulator unter MacOS X ebenfalls ein iPad simulieren. Dadurch können Sie sowohl für das iPhone als auch für das iPad entwickeln!
2. Dadurch, dass ich Sie in den vergangenen Kapiteln mit Ausrichtungsregeln »gequält« habe, sind alle Ihre grafischen Oberflächen bereits auf andere Layouts vorbereitet  Ihre iPhone Apps laufen nicht nur auf dem iPhone 4s, der iPhone 5- und iPhone 6-Generation, sondern auch auf dem iPad, dem iPad Mini und sogar dem iPad Pro!

Es gibt auch eine weitere  aus meiner Sicht nicht ganz so gute  Nachricht: Im Gegensatz zu älteren Versionen von Xcode ist es ein wenig komplizierter geworden, unterschiedliche grafische Oberflächen für das iPhone und das iPad gleichzeitig in eine App zu packen. Dennoch werde ich auch diesen komplizierteren Weg besprechen!

17.2.1. Vom iPhone zum iPad

Öffnen Sie wieder das »PasswortApp«-Projekt aus Abschnitt 14.2. Wenn Sie dort meinen Empfehlungen gefolgt sind, ist es eine reine iPhone-App, die Sie auf den iPad-Simulatoren nur als simulierte iPhone-Apps laufen lassen können. Das bedeutet, wenn Sie sie beispielsweise auf einem iPad Pro-Simulator starten, so wird einfach der iPhone-Bildschirm größer dargestellt. Schön ist das wirklich nicht.

IMG

Abbildung 17.1 Ändern des Zielgerätes von »iPhone« auf »iPad«

Um diese App auf dem iPad zum Laufen zu bringen, klicken Sie auf das Projekt selbst in der linken Spalte und vergewissern Sie sich, dass der linke Teil der mittleren Spalte ausgeklappt ist. Dann wählen Sie unter TARGETS den Eintrag PASSWORTAPP aus. Der gewählte Reiter oberhalb der mittleren Spalte sollte GENERAL sein. Dann können Sie in der Gruppe unter DEPLOYMENT INFO den Eintrag DEVICES von IPHONE auf IPAD stellen. Diese Schritte sind in Abbildung 17.1 gezeigt.

Ob Sie es glauben oder nicht: Das wars schon! Wenn Sie das Projekt nun starten möchten, so lassen sich die iPhone-Simulatoren übrigens nicht mehr auswählen, das Projekt läuft nur noch auf dem iPad. Starten Sie die App nun auf einem der iPad-Simulatoren und vergewissern Sie sich, dass Sie auch auf einem iPad vernünftig läuft, vergleiche Abbildung 17.2.

IMG

Abbildung 17.2 Beispieldurchlauf der Passwort-App auf dem iPad 2-Simulator

17.2.2. iPhone und iPad  eine App für alle Situationen

Nun können Sie die Passwort-App sowohl auf dem iPhone als auch auf dem iPad im jeweiligen Simulator einsetzen. Allerdings gibt es noch eine weitere Variante: Sie hatten gerade das Zielgerät (das DEVICE) von IPHONE auf IPAD gestellt. Sie können alternativ ebenfalls den Eintrag UNIVERSAL auswählen. Dadurch entscheidet die App beim Start selbstständig, ob sie auf einem iPhone oder einem iPad läuft und zeigt dann immer eine angepasste grafische Oberfläche an.

Probieren Sie einmal die Einstellung UNIVERSAL aus (vergleiche nochmals Abbildung 17.1) und starten Sie die App auf mindestens einem iPhone und mindestens einem iPad. Die grafische Oberfläche passt sich dann immer dem Zielgerät an. Damit haben Sie erfolgreich Ihre erste App entwickelt, die sowohl auf dem iPhone als auch auf dem iPad richtig arbeitet!

Allerdings hat die App in dieser Form noch einige Schwächen: Die grafische Oberfläche sieht auf den iPads nicht wirklich überzeugend aus. Genaugenommen sieht sie sogar ziemlich bescheiden aus:

Das Hauptproblem ist also, dass drei relativ kleine Kontrollelemente auf dem iPad verloren wirken und diese Schwäche leider nicht durch reines Vergrößern oder durch das Hinzufügen eines Hintergrundbildes aufgehoben werden kann. Insbesondere auf dem iPad Pro wirkt es alles andere als überzeugend.

Deswegen bietet es sich an, für das iPhone und das iPad jeweils unterschiedliche grafische Oberflächen zu entwickeln. Auf dem iPad wird dem Benutzer dann mehr Information geboten  oder zumindest die Information in größerer Darstellung.

Als Beispiel passen Sie die Passwort-App auf dem iPad folgendermaßen an: Anstatt nur eines einzelnen Passwortes sollen mehrere Passwortvorschläge generiert werden. Der Einfachheit halber soll das Label mit dem Passwortvorschlag auf dem iPad sechszeilig sein und eine größere Schriftart haben. Ich gebe zu, dass dies nicht unbedingt die beste Art ist, den Platz auszunutzen, den das iPad bietet. Allerdings geht es mir an dieser Stelle hauptsächlich darum, zu beschreiben, wie Sie programmiertechnisch unterschiedliche Plattformen bedienen können.


Hintergrund
Hybride oder separate Apps?
Es gibt keine »richtige« Antwort auf die Frage, ob Sie separate Apps für das iPhone und das iPad herausgeben sollten oder eine hybride App die bessere Wahl ist. Viele Hersteller bevorzugen tatsächlich eine universelle App, die die Benutzer nur einmal herunterladen müssen und die dann auf allen Geräten eingesetzt werden kann. Dies ist gerade für Benutzer, die sowohl ein iPad als auch ein iPhone besitzen, von Vorteil. Spiele wie das bekannte Infinity Blade oder die App DB Navigator der Deutschen Bahn wählen diesen Weg.
Es gibt aber auch Fälle, in denen die Apps sich sehr stark unterscheiden, gerade wenn es um Funktionalitäten wie Telefonieren geht. Die App Skype bietet unterschiedliche Varianten für iPhone und iPad an, die die Benutzer separat laden müssen, wenn sie verschiedene Geräte besitzen.
Schließlich gibt es auch Apps, die sich auf dem iPhone und dem iPad so stark unterscheiden, dass sie als unterschiedliche Apps entwickelt und separat verkauft werden. Dies hat dann keine technischen, sondern kaufmännische Gründe. Die App OmniFocus, die als Aufgabenplaner für alle Apple-Produkte recht verbreitet ist, wählt beispielsweise diesen Weg.

17.2.3. Eigene Wege gehen: Die andere Oberfläche für das iPad

Um eine eigene grafische Oberfläche für das iPad zu verwenden, benötigen Sie eine separate Main.storyboard-Datei. Die Konfiguration separater Storyboards für iPhone und iPad ist leider mit Xcode 7 ein bisschen komplizierter geworden.

Ich empfehle die folgenden Schritte, ausgehend vom bisherigen »PasswortApp«-Projekt:

1. Benennen Sie die Datei Main.storyboard nach »Main~iphone.storyboard« um. Dadurch machen Sie anderen Entwicklern kenntlich, dass diese Datei für das iPhone gedacht ist.
2. Kopieren Sie im Finder die Datei Main~iphone.storyboard (sie sollte in einem Unterordner Base.lproj zu finden sein) in eine neue Datei »Main~ipad.storyboard«.
3. Gehen Sie zurück nach Xcode und fügen Sie die Datei Main~ipad.storyboard zum Projekt hinzu, indem Sie auf die Gruppe PasswortApp rechtsklicken und aus dem Kontextmenü den Eintrag ADD FILES TO >>PASSWORTAPP<<wählen.
4. Wählen Sie im Dateidialog die Datei »Main~ipad.storyboard« aus und klicken Sie auf ADD.
5. Öffnen Sie die Datei Main~ipad.storyboard im grafischen Editor und entfernen Sie das Bild unten auf dem Bildschirm.
6. Wählen Sie das Label für das Passwort aus und stellen Sie in der rechten Spalte die Zeilenzahl auf »6«und die Schriftgröße auf »36 Punkt«, siehe Abbildung 17.3.

IMG

Abbildung 17.3 Ändern des Labels auf sechs Zeilen mit »36-Punkt«-Schrift für das iPad

7. Dadurch, dass Sie die Storyboards kopiert haben, sind die Verknüpfungen von Aktionen und Eigenschaften mit Ihrer Klasse ViewController weiterhin erhalten.

Alternativ hätten Sie auch die folgenden Schritte wählen können:

1. Erstellen Sie eine neue Datei Main~ipad.storyboard, indem Sie auf die Gruppe PasswortApp rechtsklicken und aus dem Kontextmenü den Eintrag NEW FILE[[[IDX1101]]] auswählen.
2. Dann wählen Sie aus dem Sheet aus der Gruppe IOS in der Untergruppe USER INTERFACE den Eintrag STORYBOARD aus.
3. Speichern Sie die Datei unter dem Namen »Main~ipad.storyboard«.
4. Mit dem grafischen Editor fügen Sie dann die gewünschten Elemente zur Oberfläche hinzu.
5. Die Verknüpfungen von Aktionen und Eigenschaften mit der grafischen Oberfläche müssen Sie nun wieder von Hand vornehmen.

Welchen dieser beiden Wege Sie wählen sollten, hängt davon ab, wie stark sich die grafischen Oberflächen auf iPhone und iPad unterscheiden  im ersten Fall starten Sie vom vorhandenen Storyboard, im zweiten Fall müssen Sie komplett von vorne anfangen. Je nachdem ist der erste oder der zweite Weg einfacher.

Nun müssen Sie dafür sorgen, dass für das iPhone und das iPad jeweils die Dateien Main~iphone.storyboard und Main~ipad.storyboard verwendet werden. Dafür wählen Sie wieder in der linken Spalte das Projekt PasswortApp aus und dann unter TARGETS den Eintrag PASSWORTAPP. Nun wählen Sie den vierten Reiter mit Titel INFO aus. Hier können Sie nun die Tabelle unter der Überschrift CUSTOM IOS TARGET PROPERTIES bearbeiten:

1. Suchen Sie den Eintrag mit MAIN STORYBOARD FILE BASE NAME als KEY, dieser sollte als VALUE den Wert MAIN haben. Ändern Sie die erste Spalte  also den KEY  auf MAIN STORYBOARD FILE BASE NAME (IPHONE) und die letzte Spalte  also den VALUE  auf Main~iphone.
2. Fügen Sie einen neuen Eintrag hinzu mit MAIN STORYBOARD FILE BASE NAME (IPAD) in der ersten Spalte (also als KEY). Der TYPE in der mittleren Spalte sollte STRING sein und der VALUE in der dritten Spalte sollte Main~ipad sein.
3. Abbildung 17.4 zeigt das Ergebnis.

Jetzt können Sie die App bereits starten und sie zeigt unterschiedliche Bildschirme für das iPhone und das iPad  allerdings unterscheidet sie sich nur in der fehlenden Grafik und nicht in unterschiedlicher Funktionalität. Letzteres wird im Folgenden passieren.

IMG

Abbildung 17.4 Unterschiedliche Storyboards für iPhone und iPad auswählen

17.2.4. Unterschiedliche Programme für das iPhone und iPad

Die Passwort-App für iPhone und iPad hat unterschiedliche Präsentationen, aber in beiden Fällen das gleiche Datenmodell. Da sich die Präsentationen  also die jeweils benutzen Storyboard-Dateien  unterscheiden, benötigen Sie ebenfalls eine Möglichkeit, in der Steuerungklasse  also der Klasse ViewController  zu unterscheiden, mit welchem Gerät sie es denn gerade zu tun haben.

Sie könnten natürlich auch unterschiedliche Steuerungsklassen definieren und diese dann in den beiden Storyboards völlig trennen. Dies ist oft zweckmäßig, in diesem Fall jedoch nicht zwingend erforderlich. Stattdessen baue ich eine Abfrage in ViewController ein, die entscheidet, mit welchem Gerät Sie es gerade zu tun haben und dann die jeweils geeignete Aktion durchführt.

Die Unterscheidung treffen Sie mit der folgenden Anweisung:

if UIDevice.currentDevice().userInterfaceIdiom == .Phone { 
  // Hier kommt der Programmtext für das iPhone hin. 
} else { 
  // Hier kommt der Programmtext für das iPad hin. 
}

Dabei ist UIDevice eine Klasse, die Informationen über das gerade verwendete Gerät enthält. Sie können in dieser Klasse alle möglichen anderen Informationen abfragen  vom Batteriestand über das Betriebssystem bis zum Proximity Sensor. Aber in diesem Fall ist die wichtige Information, ob es sich um ein iPhone oder ein iPad handelt, und das erfahren Sie mit dem Aufruf UIDevice.currentDevice().userInterfaceIdiom.

Für das iPhone lassen Sie einfach alles unverändert. Für das iPad erzeugen Sie anstatt eines einzelnen allerdings sechs Passwörter hintereinander und trennen die einzelnen Einträge durch neue Zeilen. In einem String erzeugen Sie dadurch eine neue Zeile, indem Sie die besondere Zeichenkombination "\n" zum String hinzufügen.

Damit lässt sich die Methode benutzerDruecktErzeugen der Steuerungsklasse ViewController umschreiben, das Ergebnis ist in Listing 17.1 zu sehen. Beachten Sie, dass Sie außer dieser einen Methode in der Klasse nichts weiter ändern müssen!

/// Wird aufgerufen, wenn der Benutzer den Button antippt. 
@IBAction func benutzerDruecktErzeugen(sender: AnyObject) { 
  if self.passwortAuswahl.selectedSegmentIndex == 0 { 
    // Das Passwort soll nur aus Ziffern bestehen. 
    self.passwortGenerator.auchBuchstaben = false 
  } else { 
    // Das Passwort soll auch Buchstaben enthalten. 
    self.passwortGenerator.auchBuchstaben = true 
  } 
 
  if UIDevice.currentDevice().userInterfaceIdiom == .Phone { 
    // Arbeite auf dem iPhone. 
 
    // Erzeuge das neue Passwort. 
    let passwort = self.passwortGenerator.passwort() 
 
    // Schreibe es in das Ausgabelabel. 
    self.passwortLabel.text = passwort 
  } else { 
    // Arbeite auf dem iPad. 
 
    // Erzeuge sechs Passwörter in mehreren Zeilen 
    var passwoerter = "" 
    for var i=0; i<6; i+=1 { 
      // Füge ein neues Passwort hinzu. 
      passwoerter += self.passwortGenerator.passwort() 
 
      // Für Zeilen 1 bis 5 füge eine neue Zeile hinzu. 
      if i<5 { 
        passwoerter += "\n" 
      } 
    } 
 
    // Schreibe die Passwärter in das Ausgabelabel. 
    self.passwortLabel.text = passwoerter 
  } 
}

Listing 17.1 Methode »benutzerDruecktErzeugen«, die zwischen iPhone und iPad unterscheidet

IMG

Abbildung 17.5 Hybride Passwort-App auf einem iPad-Simulator und einem iPhone 4s

Starten Sie die Passwort-App sowohl auf verschiedenen iPhones als auch auf verschiedenen iPads und vergewissern Sie sich, dass sie auf den Geräten jeweils unterschiedlich aussieht und auch auf dem iPhone jeweils ein neues, auf dem iPad hingegen sechs neue Passwörter auf einmal erzeugt, siehe auch Abbildung 17.5 mit zwei Beispieldurchläufen.

17.3 Auf echten Geräten entwickeln

Um Ihre Apps auf einem echten iPhone oder iPad zu testen, haben Sie bisher eine kostenpflichtige Mitgliedschaft im Apple Entwicklerprogramm benötigt. Das war zwar nicht unbedingt teuer  etwa 80 Euro pro Jahr  aber es war doch eine Hürde für Leute, die einfach nur mal »reinschnuppern« wollten.

Mit Xcode 7 hat Apple diese Beschränkung aufgehoben und bietet jetzt auch Kunden außerhalb des Entwicklerprogramms die Möglichkeit, ihre App auf echten Geräten zum Laufen zu bringen und zu testen. Wenn Sie allerdings eine App auf den App-Store bringen möchten, so benötigen Sie weiterhin die volle und kostenpflichtige Mitgliedschaft im Entwicklerprogramm.

In vielen Fällen ist es hilfreich, in einigen Fällen sogar notwendig, auf einem echten Gerät zu arbeiten:

Im Folgenden beschreibe ich, wie Sie Ihre Apps mit Ihrer normalen Apple-ID auf Ihrem iPhone testen können. Bitte beachten Sie, dass

Mit Xcode 7 führen Sie bitte die folgenden Schritte aus:

1. Sie können für diesen Zweck Ihre bestehende Apple ID weiterverwenden oder auch eine neue Apple ID unter https://appleid.apple.com registrieren. Sie benötigen sowohl die Apple ID als auch das dazugehörige Passwort.
2. Öffnen Sie das Projekt »PasswortApp« in Xcode. In Xcode ändern Sie den BUNDLE IDENTIFIER auf eine eindeutige Bezeichnung  falls dort beispielsweise »de.hello.PasswortApp« steht, so sollten Sie ihn auf jeden Fall ändern, siehe Abbildung 17.6. Sie können einfach eine eindeutige Buchstaben- und Zeichenkombination verwenden oder sogar eine mit der PasswortApp generieren!

IMG

Abbildung 17.6 Ändern des »Bundle Identifiers« der »PasswortApp« in Xcode

3. Öffnen Sie die Voreinstellungen über das XCODE und das Untermenü PREFERENCES . Wählen Sie den zweiten Reiter mit Titel ACCOUNTS aus.
4. Klicken Sie das +-Zeichen in der linken unteren Ecke und wählen Sie aus dem Menü den ersten Eintrag ADD APPLE IDaus, siehe Abbildung 17.7.

IMG

Abbildung 17.7 Hinzufügen einer neuen Apple ID zu den »Accounts«

5. Nun erscheint ein Action Sheet, in dem sie Ihre Apple ID und das dazugehörige Passwort eingeben müssen. Anschließend klicken Sie SIGN IN. Nun erstellt Xcode für Ihre Apple ID eine freie Teamkennung, hierfür ist eine Internetverbindung erforderlich.
6. Wenn alles geklappt hat, so sollte die ACCOUNTS-Liste so aussehen wie in Abbildung 17.8 gezeigt. Nun können Sie das Fenster schließen.

IMG

Abbildung 17.8 Bestätigung, dass eine freie Teamkennung zur Entwicklung für die Apple ID erfolgreich registriert wurde

IMG

Abbildung 17.9 Auswahl des echten Gerätes unter Xcode

7. Schließen Sie Ihr Gerät über USB an Ihren Mac an. Klicken Sie auf das Projekt in der Leiste von Xcode. Das Menü erscheint, in dem Sie bisher den gewünschten Simulator ausgewählt haben. Es erscheint aber auch das Ihr echtes iPhone unter DEVICE, in meinem Fall heißt es »Wolfram’s iPhone«. Wählen Sie das echte Gerät aus, siehe Abbildung 17.9.
8. Nun starten Sie die App mit IMG + IMG. Leider wird nun eine weitere Fehlermeldung erscheinen, die sich über fehlende Zertifikate beschwert. Glücklicherweise kann Xcode dieses Problem selber lösen, wenn Sie auf FIX ISSUE klicken.
9. Anschließend fragt Xcode Sie danach, mit welcher Teamkennung Sie entwickeln wollen. Hier können Sie eine der Apple ID auswählen, die Sie vorher in den Voreinstellungen hinzugefügt haben  in diesem Fall also nur eine einzige! Klicken Sie einfach auf CHOOSE, siehe Abbildung 17.10 für die letzten beiden Schritte.

IMG

Abbildung 17.10 Teamkennung auswählen, damit Xcode die fehlenden Zertifikate erzeugen kann

Die letzten beiden Schritte erscheinen wenig sinnvoll, denn im Wesentlichen entscheidet Xcode ja selbstständig, was zu tun ist. Es wirkt ein wenig so, als ob Xcode Ihnen nur mitteilen möchte, dass es gerade eine Menge Arbeit macht. Der Sinn dieses etwas aufwändigen Verfahrens ist allerdings, dass Sie Xcode dafür verwenden können, um gleichzeitig in mehreren Teams und an mehreren Projekten zu arbeiten. Und so fragt Xcode immer nach, auch wenn es eigentlich überflüssig ist.

10. Falls Sie die kostenpflichtige Mitgliedschaft besitzen, startet die App jetzt auf Ihrem Gerät. Falls nicht, müssen Sie leider noch ein paar zusätzliche Schritte durchführen.

Auf dem iPhone oder iPad starten Sie die »Einstellungen«-App. Dort wählen Sie den Eintrag ALLGEMEIN und dann den Untereintrag PROFIL. Nun sollte Ihre Apple ID erscheinen, die Sie ebenfalls auswählen können.

11. Auf der folgenden Seite können Sie nun explizit auswählen, dass Sie Ihrer Apple ID vertrauen. Insbesondere bedeutet das, dass Ihre Apple ID auf Ihrem Gerät Apps installieren darf, die Sie anschließend starten können. Wenn Sie auf die Zeile >>…<< VERTRAUEN tippen, so erscheint ein Alertview, bei dem Sie nochmals explizit VERTRAUEN antippen müssen. Dieser Schritt macht durchaus Sinn  denn sonst könnte jeder kommen und auf Ihrem iPhone oder iPad Programme installieren und schlimmstenfalls auch noch Ihre Daten stehlen!
12. Im letzten Schritt müssen Sie auch auf dem iPhone über eine bestehende Internetverbindung die Signatur der App prüfen lassen. Dies geschieht allerdings auch automatisch, wenn Sie die App nochmals von Xcode aus starten. Alle Arbeitsschritte sind nochmals (am Beispiel eines iPhone) unter Abbildung 17.11 zusammengefasst. Starten Sie daher die App nochmals von Xcode aus und vergewissern Sie sich, dass sie korrekt auf Ihrem Gerät läuft!

IMG

Abbildung 17.11 Der Teamkennung vertrauen, um Apps auf einem iPhone starten zu können

Diese Schritte ermöglichen Ihnen, Apps auf einem echten Gerät zu testen und auch zu entwickeln. Es ist zugegebenermaßen ein wenig aufwändig, allerdings müssen Sie die meisten Schritte nur ein einziges Mal tun und können dann in Zukunft Ihre Programme immer direkt starten.

17.4 Fortgeschrittenes

Die Empfehlungen von Apple für Benutzeroberflächen sind sehr wichtige Richtlinien für die Gestaltung erfolgreicher Apps. Deswegen sollte jeder Programmierer und Designer diese Richtlinien unbedingt kennen.

17.4.1. Die Empfehlungen von Apple

Apple hat ein eigenes Dokument namens Human Interface Guidelines (auf DeutschRichtlinien für Benutzeroberflächen) zusammengestellt, das sich damit beschäftigt, wie Sie am besten eine App gestalten, damit diese von Ihren Anwendern ohne große Schwierigkeiten und Frustrationen benutzt werden kann. Sie können das Dokument hier auf Englisch finden: https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/.

Das Dokument enthält zum einen Empfehlungen für die Verwendung von bestimmten Benutzerelementen, zum anderen aber auch Vorgaben für Bedienelemente. Eine große Stärke der Apple-Plattform ist, dass viele Entwickler sich an diese Empfehlungen halten und ein Anwender dadurch eine neue App schneller erlernen kann.


Tipp
Halten Sie sich an die Empfehlungen der »Human Interface Guidelines«, wenn Sie eigene Apps entwickeln. Eine App mit einer vermeintlich innovativen Oberfläche ist nicht zwangsläufig auch schnell und einfach zu erlernen und im Zweifelsfall löschen die Anwender eine App schnell wieder, anstatt die Genialität der Oberfläche zu durchschauen.