|
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 |
3 Schnelleinstieg in |
|
|
38 |
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 |
12 Lokale Benachrichtigungen und Ortung |
|
|
196 |
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 |
|