1 Einführung | 14 |
1.1 Das Smartphone | 15 |
1.2 An wen richtet sich dieses Buch? | 15 |
1.3 Buchaufbau und verwendete Technologien | 16 |
1.4 Vorstellung des Beispielprojekts | 17 |
2 Einrichten der Arbeitsumgebung | 22 |
2.1 Installation von Xcode | 22 |
2.2 Grundlegende Konfiguration von Xcode | 24 |
2.3 Registrieren für das iOS-Entwicklerprogramm | 28 |
2.4 Zertifikate erstellen und einrichten | 31 |
2.5 Geräte für die Entwicklung freischalten | 35 |
3 Schnelleinstieg in |
38 |
3.1 Die erste App mit Xcode erstellen | 38 |
3.1.1 Ein neues Projekt anlegen | 39 |
3.1.2 Die Oberfläche von Xcode anpassen | 41 |
3.1.3 Projekteinstellungen und -dateien für ein neues Projekt | 42 |
3.1.4 Die Oberfläche der App anpassen | 45 |
3.1.5 Die Steuerelemente konfigurieren | 47 |
3.1.6 Verweise (Outlets) zu Steuerelementen hinzufügen | 49 |
3.1.7 Methoden für Ereignisse von Steuerelementen erstellen | 53 |
3.2 Die App im Simulator und auf einem Gerät testen | 53 |
3.3 Crash-Kurs in Objective-C | 55 |
3.3.1 Werte einer Variablen zuordnen | 56 |
3.3.2 Methoden von Objekten aufrufen | 57 |
3.3.3 Auf Eigenschaften zugreifen | 58 |
3.3.4 Objekte erzeugen | 59 |
3.3.5 Eigene Klassen erstellen | 59 |
3.3.6 Eigenschaften definieren | 62 |
3.3.7 Logging | 63 |
3.3.8 Kommentare | 64 |
3.3.9 Ablaufsteuerung mit Verzweigungen | 64 |
3.3.10 Wiederholungen mit Schleifen | 64 |
3.3.11 NULL und nil | 66 |
3.3.12 Fehlerbehandlung | 66 |
4 Mit dem Storyboard arbeiten | 68 |
4.1 Ein neues Projekt erstellen | 68 |
4.1.1 Die richtige Projektvorlage auswählen | 68 |
4.1.2 iOS-Zielversion festlegen | 71 |
4.1.3 Das Storyboard in der Übersicht | 71 |
4.2 Die Views einer App definieren | 73 |
4.2.1 Navigation Controller und View Controller hinzufügen | 74 |
4.2.2 Eigenschaften der View Controller und Views anpassen | 77 |
4.3 Zwischen Views navigieren | 79 |
4.3.1 Segues erstellen I | 79 |
4.3.2 Navigationsschaltflächen und Icons hinzufügen | 82 |
4.3.3 Segues erstellen II | 85 |
4.4 Zwischenstand der App (Version 0.1) | 87 |
5 Eigene Klassen und Subklassen erstellen | 90 |
5.1 Eigene Klassen erstellen | 90 |
5.2 Eigene Subklassen erstellen | 94 |
5.2.1 Subklassen für View Controller erstellen | 94 |
5.2.2 Subklasse einem View Controller zuordnen | 96 |
5.3 Aus Views zum Ursprung zurückkehren | 98 |
5.3.1 Unwind Segues erstellen | 98 |
5.3.2 Eine View per Code schließen | 100 |
5.4 Zwischenstand der App (Version 0.2) | 101 |
6 Mit Tabellen, Dateien und Text arbeiten | 102 |
6.1 Mit Tabellen und Zellen arbeiten | 103 |
6.1.1 Vorbereitungen im Code für die Master View | 103 |
6.1.2 Tabellen anpassen | 104 |
6.1.3 Zellen anpassen | 105 |
6.2 Mit Dateien arbeiten | 106 |
6.2.1 Anpassen der Detail View | 106 |
6.2.2 Segues für Aktionen vorbereiten | 110 |
6.2.3 Das Dateisystem auslesen | 111 |
6.2.4 Dateien öffnen, erstellen und speichern | 114 |
6.2.5 Dateien löschen | 120 |
6.3 Mit Text und dem Keyboard arbeiten | 121 |
6.3.1 Das Keyboard ausblenden und anpassen | 121 |
6.3.2 Text bearbeiten | 124 |
6.4 Dateien für iTunes freigeben | 128 |
6.5 Zwischenstand der App (Version 0.3) | 129 |
7 E-Mails, Webseiten und Auswahloptionen | 130 |
7.1 E-Mails versenden und Webseiten aufrufen | 130 |
7.1.1 Anpassen der About View | 131 |
7.1.2 E-Mails versenden | 132 |
7.1.3 Webseiten aufrufen | 135 |
7.2 Auswahloptionen anbieten | 135 |
7.2.1 Navigationsleiste per Code erweitern | 136 |
7.2.2 Action Sheet für Optionen anzeigen | 136 |
7.3 Zwischenstand der App (Version 0.4) | 138 |
8 Mit Gesten und Grafik arbeiten | 140 |
8.1 Master View und Detail View anpassen | 140 |
8.1.1 Anpassen der Master View | 141 |
8.1.2 Anpassen der Detail View | 141 |
8.2 Mit Gesten arbeiten | 143 |
8.3 Mit Grafikfunktionen und Fotos arbeiten | 145 |
8.3.1 Bilder anzeigen, erstellen und speichern | 145 |
8.3.2 Auf dem Bildschirm zeichnen | 149 |
8.3.3 Bilder zoomen und scrollen | 153 |
8.3.4 Fotos aufnehmen und importieren | 154 |
8.4 Zwischenstand der App (Version 0.5) | 159 |
9 Audios abspielen und aufnehmen | 160 |
9.1 Vorstellung der Detail View | 161 |
9.2 Audios aufnehmen und abspielen | 162 |
9.2.1 Audios aufnehmen | 162 |
9.2.2 Audios abspielen | 163 |
9.3 Audios im Hintergrund laufen lassen | 163 |
9.3.1 Audios im Hintergrund aufnehmen und abspielen | 164 |
9.3.2 Auf Ereignisse und Unterbrechungen reagieren | 164 |
9.3.3 Multimedia-Ereignisse verarbeiten | 165 |
9.4 Änderungen am Eingang und Ausgang überwachen | 166 |
9.4.1 Änderungen am Audio-Eingang | 167 |
9.4.2 Änderungen am Audio-Ausgang | 168 |
9.5 Auf vorhandene Hardware prüfen | 169 |
10 Datenbanken und Core Data | 170 |
10.1 Datenbanken erstellen | 171 |
10.1.1 Datenbank mit Xcode erstellen | 171 |
10.1.2 Subklassen für Daten erstellen | 174 |
10.1.3 Basismethoden implementieren | 175 |
10.2 Mit Datensätzen arbeiten | 177 |
10.2.1 Datensätze abfragen und erstellen | 177 |
10.2.2 Datensätze erstellen, ändern und löschen | 179 |
10.3 Daten und Arrays filtern | 181 |
10.3.1 Anpassen der MasterViewController | 181 |
10.3.2 Daten und Arrays mit NSPredicate filtern | 182 |
10.4 Zwischenstand der App (Version 0.7) | 184 |
11 Map View und Core Location | 186 |
11.1 Der Reminder View Controller | 186 |
11.1.1 Aufbau des Reminder View Controllers | 187 |
11.1.2 Eigene Benachrichtigungen über das Notification Center senden | 189 |
11.2 Ortsbestimmung mit Core Location | 190 |
11.2.1 Den aktuellen Ort in einer Map View anzeigen | 190 |
11.2.2 Autorisierungsstatus der Ortungsdienste auslesen | 191 |
11.3 Orte markieren und Adressen mit Reverse Geocoding bestimmen | 192 |
11.4 Code verzögert ausführen | 194 |
11.5 Zwischenstand der App (Version 0.8) | 195 |
12 Lokale Benachrichtigungen und Ortung |
196 |
12.1 Ortung im Hintergrund | 196 |
12.1.1 Ortung in den Projekteinstellungen aktivieren | 197 |
12.1.2 Ortung im Hintergrund durchführen | 197 |
12.2 Lokale Benachrichtigungen auslösen | 203 |
12.2.1 Geplante Benachrichtigungen | 203 |
12.2.2 Benachrichtigungen im Hintergrund | 205 |
12.2.3 Benachrichtigungen im Vordergrund | 206 |
12.3 Anzahl ungelesener Elemente anzeigen | 206 |
12.4 Zwischenstand der App (Version 0.9) | 209 |
13 Lokalisierung, Icons, Startbilder und Feinheiten | 210 |
13.1 Eine App lokalisieren | 210 |
13.1.1 Lokalisierung von Dateien vornehmen | 213 |
13.1.2 Strings lokalisieren | 213 |
13.1.3 Name der App lokalisieren | 213 |
13.2 Offene Dateien automatisch speichern | 214 |
13.3 App-Icon und Startbilder erstellen | 215 |
13.3.1 App-Icon festlegen | 215 |
13.3.2 Startbilder erstellen | 215 |
13.4 Letzter Feinschliff | 216 |
14 Veröffentlichung einer App im App Store | 218 |
14.1 App ID erstellen | 218 |
14.2 Hochladen einer App über iTunes Connect vorbereiten | 220 |
14.3 Distribution Provisioning Profile erstellen | 222 |
14.4 App mit Xcode bereitstellen | 223 |
Index | 228 |