1 Hello iPhone
»Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und
wurde allenthalben als Schritt in die falsche Richtung angesehen.«
– Douglas Adams
Was gibt es Schöneres als Erfolg? Das gilt im Fußball ebenso wie beim Lernen. Mithilfe dieses Buches werden Sie lernen, Apps für iOS zu programmieren. Der Weg dahin ist nicht immer geradlinig, manchmal steinig; es gibt Tage, da hat man das Gefühl, nur bergauf zu marschieren, an anderen geht es in rasendem Tempo bergab, dem Ziel entgegen. Auf jeden Fall braucht es etwas Geduld, bis man sich bis zu den Feinheiten durchgearbeitet hat und mehr als eine aus Standard-Komponenten bestehende App programmieren kann.
Damit Ihnen der Weg lohnenswert erscheint und Sie nicht direkt zu Beginn von Theorie erschlagen werden, beginnen wir dieses Buch mit der Programmierung einer kleinen App. Dabei auftretende Fragen zu den Details beantworten die folgenden Kapitel – das erste Kapitel zeigt Ihnen, wie Sie die für die Programmierung notwendige Arbeitsumgebung einrichten, wie Sie eine kleine App erstellen können und wie die App anschließend auf ein iPhone oder iPad gelangt. Am Ende dieses Kapitels erörtern wir in aller gebotenen Kürze noch einige theoretische Fragen, aber das nur, um Ihnen einen Überblick darüber zu vermitteln, was Sie im ersten Kapitel schon alles geschafft haben.
Das iPhone besitzt einen kleinen Bruder, den iPod touch. Dieser iPod sieht dem iPhone sehr ähnlich, ist aber flacher und verfügt über keine Mobilfunk-Funktionalität. Das Betriebssystem des iPod touch ist dasselbe wie das des iPhones, also iOS. Daher kann ein für das iPhone geschriebenes Programm in der Regel auch auf einem iPod touch laufen. Bei der iOS-Programmierung gibt es fast keine Unterschiede mehr zwischen iPhone und iPod touch. Der Übersichtlichkeit halber ist hier aber nur vom iPhone die Rede, was – bis auf sehr wenige Ausnahmen – auch den iPod touch mit einschließt.
Dasselbe gilt auch für das iPad. Stellen, an denen Besonderheiten bei der Programmierung für das iPad zu beachten sind, sind entsprechend gekennzeichnet. Für den Rest des Textes gebrauchen wir »iPhone«, »iPod« und »iPad« synonym.
1.1 Voraussetzungen

Um Apps für iOS programmieren zu können, benötigen Sie zwingend zwei Dinge:
- einen Apple-Computer mit Intel-Prozessor und einer möglichst aktuellen Version von OS X, also Lion (10.7) oder Mountain Lion (10.8) und
- das Software Development Kit (SDK) für iOS.
Das SDK enthält alle notwendigen Programme und Komponenten für die App-Entwicklung; die aktuelle Version hat die Nummer 6.0 und läuft nur unter Lion oder Mountain Lion. Obwohl Apple ältere Versionen von OS X noch länger pflegt, laufen aktuelle Versionen der SDKs und anderer Programme von Apple häufig nur jeweils auf der aktuellsten Version.
Sie können das SDK einfach und kostenlos über das Programm App Store über Ihren Mac herunterladen. Neben ausreichend Hauptspeicher (2 GB sind ein guter Anfang) sollte Ihr Mac über ein großes Display verfügen. Für größere Projekte und längeres Arbeiten sollten Sie mindestens ein 15"-Display verwenden, um nicht zu schnell die Übersicht zu verlieren.
1.1.1 Das SDK und die Entwicklerprogramme

Das SDK beinhaltet neben einer integrierten Entwicklungsumgebung (IDE [Integrated Development Environment]) namens Xcode zahlreiche grafische Tools, mit denen die Entwicklung von iOS-Applikationen leicht von der Hand geht, sowie die notwendigen Bibliotheken. Mit dem SDK können Sie Apps für iOS und Programme für OS X erstellen. Sie können allerdings aus dem Stand heraus keine Apps auf einem Endgerät testen. Dafür müssen Sie erst Mitglied im Apple Developer Network werden und für das iOS Developer Program bezahlt haben.
Für zurzeit 80 EUR pro Jahr bekommen Sie dort [https://developer.apple.com/devcenter/ios/] ein Zertifikat, mit dem Sie eigene Applikationen signieren und diese auf bis zu 100 iOS-Geräte aufspielen können. Die Teilnahme am iOS Developer Program ist überdies die Voraussetzung dafür, Apps in den iTunes Store [Er wird häufig auch kurz App Store genannt.] einstellen zu können.
Abbildung 1.1 Xcode zum Download im Mac App Store
Das iOS Developer Program existiert in zwei Ausprägungen: Individual und Company. Die Company-Version unterscheidet sich von der Individual-Version durch die Fähigkeit, Entwicklerteams verwalten zu können, bietet dem einzelnen Programmierer aber keine weiteren Vorteile.
Die Mitgliedschaft im iOS Enterprise Program, die 279 EUR jährlich kostet, ermöglicht die Installation selbst geschriebener Apps auf mehr als 100 eigenen Geräten. Mit diesem Programm können Sie wiederum keine Apps in den Apple App Store hochladen. Das iOS Enterprise Program ist nur für Firmen gedacht, die hausinterne Apps entwickeln möchten. Für private oder selbstständige Entwickler sowie kleine Firmen ist dieses Programm daher in der Regel eher uninteressant. Sowohl für das Enterprise Programm als auch für das Company Developer Programm ist eine DUNS-Nummer [http://www.dnb.ch/htm/690/de/Eindeutige-Identifikation.htm] erforderlich.
Nutzer aus dem akademischen Bereich können am kostenlosen iOS University Program teilnehmen, das zwar den Test von selbst geschriebenen Apps auf Endgeräten erlaubt, aber keine Veröffentlichung im Apple App Store.
Hilfe von Apple inklusive
Bei allen kostenpflichtigen Programmen sind zwei Supportanfragen pro Jahr beim technischen Entwicklersupport von Apple enthalten. Sie können sich damit von Apple also bei der Entwicklung Ihrer Programme individuell unterstützen lassen, wenn Sie auf Probleme stoßen. Weitere Supportanfragen können Sie als Mitglied im Entwicklerprogramm kostenpflichtig erwerben. Außerdem haben Sie Zugriff auf die Entwicklerforen, in denen sich auch die Entwickler von Apple tummeln.
Falls Sie nicht die aktuelle Version des SDK verwenden möchten oder können, stehen Ihnen nach der Anmeldung im iOS Developer Center unter der URL https://developer.apple.com/downloads/index.action auch ältere SDK-Versionen zum Download zur Verfügung. Benutzer, die noch nicht mit Lion arbeiten, können dort auch noch eine Version für Snow Leopard laden. An dieser Stelle aber die Warnung: Apple schneidet bekanntermaßen gern, häufig und unvermittelt alte Zöpfe ab. Die zum Zeitpunkt der Manuskripterstellung noch erhältliche SDK-Version für Snow Leopard war mit 4.2 noch erstaunlich aktuell. Verlassen Sie sich aber nicht darauf, dass Apple Snow Leopard auch in Zukunft mit neuen SDKs versorgt. Upgraden Sie im Zweifelsfall also lieber auf OS X 10.7 oder 10.8, sofern das möglich ist; damit haben Sie immer Zugriff auf die neueste SDK-Version.
Voraussetzungen für dieses Buch
Um die in diesem Buch gezeigten Beispiele nachzuprogrammieren, reicht das SDK ohne die kostenpflichte Registrierung als Entwickler aus. Alle Beispiele laufen – zumindest mit Einschränkungen – im Simulator. Die Voraussetzungen dafür sind lediglich die kostenlose Anmeldung im Apple Developer Network und das Herunterladen und Installieren des jeweils aktuellen SDK oder die Installation über den Mac App Store.
Eine detaillierte Beschreibung von Xcode finden Sie in Kapitel 9, »Jahrmarkt der Nützlichkeiten«. Eine so umfangreiche IDE will erkundet und an die eigene Arbeitsweise angepasst sein. Für den Einstieg genügt es aber vollkommen, wenn Sie den Anweisungen folgen, die bei den Beispielen in diesem Buch stehen. Dort sind alle Schritte so ausführlich erklärt, dass sie auch verständlich und reproduzierbar sind, ohne dass Sie sich in Xcode einarbeiten müssen.
1.1.2 Der Simulator

Das SDK bringt einen iPhone- und iPad-Simulator mit. Dieser simuliert – wie der Name bereits vermuten lässt – das betreffende Endgerät. Dabei greift er auf die Ressourcen des Host-Computers, also Ihres Mac-Rechners, zurück.
Mit dem iOS-Simulator können Sie die meisten Funktionen eines iOS-Gerätes nachstellen. Die Lokalisierung funktioniert nur auf Rechnern mit Airport. Die Kamera, der Bewegungssensor und Mobilfunk funktionieren im Simulator allerdings nicht. Hierfür müssen Sie eine App immer erst auf einem durch das iOS Developer Program entsprechend freigeschalteten Gerät installieren.
Abbildung 1.2 Der iPhone-Simulator
Das Dateisystem des Simulators, das er im Dateisystem Ihres Macs abbildet, verhält sich etwas anders als das eines echten iOS-Gerätes, und auch zentrale Ressourcen wie Adressbuch, Kalender und Keychain sind im Detail unterschiedlich. Der Simulator ist daher gut geeignet, um Grundfunktionalitäten zu prüfen – Testläufe auf echten Geräten ersetzt er hingegen nicht.
Auch wenn Ihre App im Simulator perfekt laufen sollte, kommen Sie niemals um Tests auf mindestens einem Gerät herum, wenn Sie Ihre App für andere Benutzer veröffentlichen möchten. Hier ist eine – wahrscheinlich unvollständige – Liste mit Gründen dafür:
- Ein iOS-Gerät hat eine andere Architektur als der Simulator beziehungsweise der Mac. Das fängt schon mit unterschiedlichen Prozessoren an.
- Die Geschwindigkeit Ihrer App kann auf beiden Systemen stark variieren. Ein Programm, das im Simulator flüssig läuft, kann auf einem iPod quälend langsam dahinkriechen.
- Ihr Mac hat vermutlich wesentlich mehr Hauptspeicher zur Verfügung als die 512 MB eines iPhone 4 oder auch die 1 GB eines iPad 3. Während die App im Simulator stabil läuft, gibt sie auf dem Gerät möglicherweise am laufenden Band Speicherwarnungen aus.
- Die Dateisysteme sind verschieden aufgebaut, und Sie können viele Verzeichnisse unter iOS nicht lesen, geschweige denn schreiben. Das betrifft besonders das Ressourcenverzeichnis einer App, in das Sie auf dem iPhone nicht schreiben können, im Simulator hingegen schon.
- Der Simulator unterstützt nicht alle Hardware-Eigenschaften. Sie können keine Fotos mit der Kamera schießen, und es gibt keinen Beschleunigungs- oder Gyrosensor.
Tipp
Bevor Sie Ihre App in den App-Store hochladen, sollten Sie diese ausführlich auf echten Geräten testen – am besten auf jedem Gerätetyp, den Ihre App unterstützt. Hierbei erweisen sich gerade ältere Modelle als besonders wertvolle Testgeräte. Sie sind in der Regel langsamer und haben weniger Arbeitsspeicher, sodass auf diesen Geräten entsprechende Programmfehler wesentlich häufiger auftreten.
Wenn Ihre App kompatibel zu iOS 3 sein soll, sollten Sie sie auf einem Gerät mit dieser Betriebssystemversion testen. Dadurch finden Sie inkompatiblen Code am zuverlässigsten.
1.1.3 Test der Arbeitsumgebung
Die IDE Xcode hat eine eigene Versionsnummerierung, und die aktuelle Version ist 4.5. Die Xcode-Versionen vor 4.3 finden Sie im Ordner /Developers/Applications auf der Festplatte Ihres Rechners. Ab Version 4.3 befindet sich die Entwicklungsumgebung inklusive aller Komponenten im Programme-Ordner, wohin der App Store auch alle anderen Applikationen installiert.
Abbildung 1.3 Das SDK im Finder
Egal ob aus dem Ordner /Developer/Applications oder Programme: Ziehen Sie das Xcode-Symbol ins Dock – Sie werden das Programm im Laufe dieses Buches vermutlich häufiger verwenden. Starten Sie anschließend Xcode. Sie werden vom Startfenster von Xcode begrüßt:
Abbildung 1.4 Das Startfenster von Xcode
Beim ersten Start von Xcode weist das Programm Sie gegebenenfalls an, weitere Bestandteile aus dem Netz zu installieren. Bestätigen Sie die Aufforderung einfach mit Install (siehe Abbildung 1.5), und lassen Sie Xcode machen; eine Wahl haben Sie ohnehin nicht.
Abbildung 1.5 Installation zusätzlicher Komponenten
Laden Sie bei Bedarf über den Menüpunkt Xcode • Preferences • Downloads Debug-Unterstützung und den Simulator für ältere iOS-Versionen aus dem Netz. Das SDK bringt standardmäßig immer nur die Unterstützung für die aktuelle iOS-Version mit.
Abbildung 1.6 Unterstützung für ältere iOS-Versionen
Über das Tab Documentation im selben Fenster (siehe Abbildung 1.6) können Sie die Entwickler-Dokumentation für Xcode herunterladen. Das empfiehlt sich insbesondere, wenn Sie mit Ihrem Entwicklungsrechner nicht permanent am Internet hängen. Nichts ist ärgerlicher, als unterwegs etwas in der Dokumentation nachgucken zu wollen und dann keinen Zugriff darauf zu haben.
Erstellen Sie, um die Lauffähigkeit Ihrer Entwicklungsumgebung zu prüfen, über das Auswahlfeld Create a new Xcode project (siehe Abbildung 1.4) ein neues Projekt. Im nächsten Fenster wählen Sie in der linken Auswahlspalte in der Gruppe iOS den Punkt Application und rechts im Übersichtsfenster das Icon Single View Application (siehe Abbildung 1.7).
Ein SDK für alles
Sie sehen im selben Fenster, dass Sie mit dem SDK auch Programme für Mac OS X schreiben können. In der Gruppe Mac OS X in der Auswahlspalte bietet Xcode bereits verschiedene Templates an.
Abbildung 1.7 Ein neues iOS-Projekt
Im nächsten Schritt geben Sie dem Projekt einen Namen (siehe Abbildung 1.8). Dieser ist für den ersten Test vollkommen unerheblich, da dieses Projekt keinen tieferen Sinn hat als zu prüfen, ob alles funktioniert. Tragen Sie also unter Product Name sowie Company Identifier jeweils einen beliebigen Wert ein. Das Class Prefix lassen Sie leer; die Checkbox Use Automatic Reference Counting bleibt aktiviert, und die anderen Checkboxen deaktivieren Sie.
Die App-ID
Aus Ihren Eingaben für die Felder Product Name und Company Identifier erzeugt Xcode die App-ID und zeigt sie unter Bundle Identifier an. Sie stellt eine eindeutige Kennung für die App dar.
Abbildung 1.8 Namen für das Projekt festlegen
Im letzten Schritt bestimmen Sie den Ordner, in dem Xcode das Projekt ablegen soll, und geben an, ob Xcode das Projekt unter die Git-Versionsverwaltung stellen soll. Mehr zu Git finden Sie im weiteren Verlauf des Buches sowie insbesondere in Kapitel 9. Bestätigen Sie die Auswahl eines geeigneten Speicherortes, und beenden Sie damit den Dialog. Es erscheint das Hauptfenster von Xcode (siehe Abbildung 1.9).
Abbildung 1.9 Das Hauptfenster von Xcode
Wählen Sie nun oben links im Xcode-Fenster das Ausführungsziel für das soeben erstellte
Projekt aus (iPhone 6.0 Simulator), und starten Sie anschließend mit dem Button Run, der links neben dem Auswahlfeld sitzt, oder mit der Tastenkombination
+
die Übersetzung des Projekts und die Ausführung im Simulator (siehe Abbildung 1.10).
Abbildung 1.10 Auswahl des Ausführungsziels
Xcode zeigt im Infobereich oben in der Mitte des Fensters den aktuellen Fortschritt an (siehe Abbildung 1.11) und startet anschließend das Projekt auf dem iPhone-Simulator.
Abbildung 1.11 Fortschrittsanzeige von Xcode
Wenn Sie im Simulator eine langweilige, graue Fläche wie in Abbildung 1.12 sehen, hat alles geklappt. Ihr Xcode ist korrekt installiert, und das Übersetzen von Projekten funktioniert auch. Damit ist es an der Zeit, die erste App zu programmieren.
Abbildung 1.12 Das Test-Projekt funktioniert.
Ihr Kommentar
Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.
















Jetzt bestellen





