Suchen und Finden
Service
Infos und Kontakt
Was die Leser zu „Entwickeln mit dem iPhone SDK“ sagen
3
Entwickeln mit dem iPhone SDK
7
Inhaltsverzeichnis
9
Vorwort
15
1 Einführung
17
1.1 In diesem Buch
19
1.2 Danksagungen
21
Von Chris Adamson
21
Von Bill Dudney
23
2 Hallo iPhone
25
2.1 Starten
25
2.2 Das „Hallo iPhone“-Projekt erstellen
27
2.3 Eine einfache Oberfläche erstellen
30
2.4 Rotieren des Texts - Anpassen des UI
33
2.5 Rotieren des Texts - Anpassen des Codes
34
2.6 Im Code navigieren
35
2.7 Ihre Anwendung auf Ihrem iPhone ausführen
36
3 Grundlagen der iPhone-Entwicklung
39
3.1 Die Softwarearchitektur des iPhone
40
3.2 Code in Objective-C
41
3.3 Grundlegende Klassen von Cocoa Touch
43
3.4 Arbeiten mit Xcode und dem Interface Builder
44
Eine interaktive Anwendung entwerfen
46
IBOutlets und IBActions deklarieren
47
Die Oberfläche im IB erstellen
48
Die Action implementieren
53
3.5 Anatomie Ihrer iPhone-Anwendung
55
3.6 Verhaltensanpassung durch Delegieren
58
3.7 Speicherverwaltung der Anwendung
61
3.8 Zugriff auf Variablen als Eigenschaften
63
3.9 Kompakt: Was man sich merken sollte
66
4 View-Controller
69
4.1 Implementieren einer Button-Action
69
4.2 Ein Modell erstellen
75
4.3 Den Controller um Outlets und Actions ergänzen
78
4.4 Das UI anpassen
80
4.5 Den Controller implementieren
81
4.6 Den neuen View-Controller erstellen
84
4.7 Erstellen des UI
88
Konfigurieren des Textfelds
90
4.8 Der MovieEditorViewController
92
4.9 Der Edit View-Controller im Interface Builder
94
Die View des View-Controller
94
5 Tabellen-Views
97
5.1 Elemente einer Tabelle
97
5.2 Tabellenbasierte Navigation einrichten
99
5.3 Tabellendaten modellieren
101
5.4 Tabellenfelder
104
Feldstile
104
Felder wiederverwenden
107
5.5 Tabellen bearbeiten
108
5.6 In Tabellen navigieren
110
Den MovieEditorViewController hinzufügen
112
Ein bestehendes Tabellenelement bearbeiten
113
Ein Element zur Tabelle hinzufügen
115
5.7 Eigene Felder in Tabellen-Views
118
Ein eigenes Tabellenfeld entwerfen
119
Laden und Anzeigen eines eigenen Tabellenfelds
120
Werte in einem eigenen Tabellenfeld zuweisen
122
5.8 Tabellendaten sortieren
124
6 Navigation
129
6.1 Navigation in Mail
129
6.2 Der Navigations-Controller
130
6.3 Navigationsbasierte Anwendungen
131
6.4 View-Controller auf den Stack schieben
135
6.5 Die Navigationsleiste anpassen
136
6.6 View-Controller vom Stack holen
142
7 Zwischen Bereichen wechseln: Tab-Controller
145
7.1 Wann man Tabs verwendet
145
7.2 Einen Tab-Controller erstellen
147
7.3 View-Controller in Tab-Controllern
149
7.4 Viele Controller
154
8 Datei-I/O
157
8.1 Das Dateisystem erforschen
158
Über die Verzeichnisse Ihrer Anwendung
160
8.2 Unser Projekt erstellen
161
Ihren Code refaktorieren
162
Verzeichnisse anzeigen
164
8.3 Dateiattribute auslesen
168
8.4 Daten aus Dateien lesen
174
8.5 Asynchrones Lesen von Dateien
178
8.6 Dateien und Verzeichnisse erstellen und löschen
182
8.7 Daten in Dateien schreiben
189
8.8 Eigenschaftslisten und NSCoding
192
9 Einstellungen
195
9.1 Anzeige einer umklappbaren Einstellungs-View in Ihrer Anwendung
195
9.2 Einstellungen verwalten
198
9.3 Einstellungen ändern und aktualisieren
201
9.4 Abstecher: Sekündliches Aktualisieren der Uhr
205
9.5 Die Systemanwendung für Einstellungen nutzen
206
Die Datei Settings.bundle erstellen
208
9.6 Einstellungen laden, die in der System-App konfiguriert wurden
214
Ein kombinierter Ansatz
216
10 Die Datenbank SQLite
219
10.1 Ihre Datenbank erstellen
220
10.2 Die Beispielanwendung erstellen
223
10.3 Ihre Datenbank auf das iPhone bringen
226
Kopieren in das Documents-Verzeichnis
227
10.4 Ihre Datenbank auf dem iPhone verwenden
229
Werte in die Datenbank einfügen
229
Werte aus der Datenbank lesen
232
11 Core Data
239
11.1 Die Konferenzanwendung
240
11.2 Der Core Data-Stack
243
11.3 Aufbau des Core Data-Stack
246
11.4 Modellieren
249
11.5 Track-Tabellen-View
257
11.6 Die Tracks einlesen
261
11.7 Tracks ändern
262
11.8 Navigation
266
12 Verbindung zum Internet
273
12.1 Ein Browser in zehn Minuten mit der UIWebView
273
Das Projekt aufsetzen
274
Das Browser-GUI im IB erstellen
275
Den Browsers implementieren
276
Sie haben noch fünf weitere Minuten?
278
12.2 Daten über das Netzwerk lesen
279
12.3 HTTP-Authentifizierung
284
Eine passwortgeschützte Website einrichten
284
Umgang mit der HTTP-Authentifizierung
288
12.4 XML von Webservices parsen
291
Die Twitter-Daten laden
293
Die Twitter-Daten parsen
294
Mehr Optionen zum Parsen von XML
300
12.5 Mails aus Ihrer Anwendung schicken
303
13 Peer-to-Peer-Netzwerke
307
13.1 Ad-hoc-Netzwerk-Services mit Bonjour
307
Apache für Bonjour einrichten
308
13.2 Bonjour Service Discovery
309
13.3 Game Kit
315
13.4 Ein Spiel mit Bluetooth-Unterstützung aufsetzen
317
13.5 Erstellen eines Peer Pickers
318
13.6 Einen Peer Picker-Delegate bereitstellen
320
13.7 Spiellogik im Netz
322
13.8 Mit der GKSession kommunzieren
324
Daten senden
325
Statusänderungen
326
Daten empfangen
328
13.9 Voice Chat
330
14 Videos abspielen
333
14.1 Videos abspielen mit dem MPMoviePlayerController
333
Erstellen des GUI
335
Das Video auswählen
336
14.2 Nachrichten vom Movie Player empfangen
338
14.3 Unterstützte Medienformate
340
Audioformat
340
Inhalt
340
A/V-Format
340
Inhalt
340
15 Zugriff auf die iPod-Bibliothek
343
15.1 Den iPod-Player überwachen
343
Das Musik-GUI erstellen
344
Den aktuellen Player-Status ermitteln
346
Arbeiten mit Zeiteigenschaften
349
Benachrichtigungen vom Player erhalten
351
15.2 Die iPod-Anwendung steuern
353
Die aktuelle Position im iPod Player setzen
353
15.3 Die iPod-Bibliothek verwenden
355
Aufbau der Rückseite
356
Die Medienbibliothekssuche implementieren
359
Die Tabellen für die Suchergebnisse und die Medien-Queue implementieren
362
Eine Queue abspielen
365
15.4 In der iPod-Bibliothek stöbern
366
16 Audiodaten abspielen und aufzeichnen
369
16.1 Einen AVAudioRecorder erstellen
369
Die Beispielanwendung aufsetzen
370
16.2 Unkomprimierte Audioformate
373
16.3 Kodierte Audioformate
378
16.4 Den AVAudioRecorder verwenden
382
16.5 Aufzeichnungsinformationen anzeigen
386
16.6 Audiodaten mit dem AVFramework abspielen
391
16.7 Audio-Sessions
396
17 Core Audio
401
17.1 Prozedurale C-APIs verwenden
402
Opake Typen und Objekte
402
Speicherverwaltung in der Core Foundation
404
17.2 Systemklänge abspielen
405
Systemklänge erstellen
406
Systemklänge abspielen, überwachen und entsorgen
407
17.3 Überblick über Core Audio
411
Audio Session Services
411
Audio Queue Services
412
Audio File Services
412
Audio File Stream Services
413
Audio Conversion Services und Extended Audio Files
413
Audio-Units und Audio-Unit Graphs
413
OpenAL
415
18 Events, Gesten und Multi-Touch
417
18.1 Event-Modell
417
18.2 Berührungen verfolgen
420
18.3 Tippen
422
18.4 Multi-Touch-Gesten
423
19 Zeichnen in eigenen Views
429
19.1 Zeichenmodell
429
19.2 Vektorgrafik
430
19.3 Pfade
432
19.4 Grafikkontext
437
19.5 Eine neue View anzeigen
439
20 Bilder und Fotos zeichnen
441
20.1 Grundlagen der Bildausgabe
442
20.2 Die Bildausgabe anpassen
444
20.3 Image Picker
446
20.4 Videos aufnehmen
451
21 Core Animation
453
21.1 Einführung in Core Animation
453
21.2 UIView animieren
454
Animationsblöcke
455
Animationen anpassen
457
Animation-Delegates
458
UIView und CALayer
460
21.3 Layer
461
21.4 OpenGL ES
463
22 Accelerometer
467
22.1 Ausrichtung des Geräts ermitteln
468
22.2 Schüttelgesten über die Responder-Kette erhalten
469
22.3 Rohdaten des Accelerometers auslesen
470
22.4 Accelerometer-Daten filtern
477
Einfache Accelerometer-Filter
477
Schüttelerkennung implementieren
480
Fortgeschrittenes Filtern der Accelerometer-Daten
482
23 Adressbuch
485
23.1 Adressbuch-UI
485
23.2 People Picker-Delegate
487
23.3 Den People Picker erzeugen und konfigurieren
489
23.4 Person-Controller
489
23.5 Neue Kontakte hinzufügen
491
24 iPhone Location-API
495
24.1 Wissen, wo man ist
496
Parameter für den Core Location Service
498
24.2 Positions-Updates
500
Genauigkeit
501
Abstand
502
24.3 Kompass
505
25 Map Kit
507
25.1 Contact Mapper
507
25.2 Eine Karte anzeigen
508
25.3 Anmerkungen in einer Karte
511
TouchXML und der AddressGeocoder
517
25.4 Eine Anmerkung auswählen
521
26 Anwendungsintegration
525
26.1 Starten anderer Anwendungen
525
26.2 Selbst integrierbar werden
527
27 Debuggen
533
27.1 Fehler beim Build verstehen und beheben
534
27.2 Fehler beim Importieren/Linken verstehen und beheben
536
27.3 Die iPhone SDK-Dokumentation verwenden
539
27.4 Fehler im Interface Builder verstehen und beheben
542
27.5 Debuggen
544
Protokollieren an die Standardausgabe
544
Verwenden des Debuggers
549
27.6 Über-freigegebene „Zombie“-Objekten finden
553
28 Performance-Tuning
559
28.1 Performanceanalyse mit Shark
560
Anwendungen mit Shark auf dem iPhone profilen
564
28.2 Performanceanalyse mit Instruments
565
28.3 Performanceanalyse mit dem Clang Static Analyzer
571
Was kommt als Nächstes?
576
29 Davor und danach
577
29.1 Richtig beginnen
578
29.2 Abrunden
583
29.3 Weitere Features
585
29.4 Betatesten
586
29.5 Die App in den Store bringen
587
29.6 Für Ihre Anwendung werben
588
Literaturverzeichnis
591
Index
595
Symbole
595
A
595
B
596
C
597
D
598
E
599
F
599
G
600
H
600
I
600
K
601
L
601
M
601
N
602
O
602
P
602
Q
603
R
603
S
603
T
604
U
605
V
605
W
605
X
605
Z
606
Alle Preise verstehen sich inklusive der gesetzlichen MwSt.; Ersparnis im Vergleich zur Printversion

























