Inhaltsverzeichnis
Geleitwort des Gutachters
Vorwort
1 Einführung
1.1 iOS
1.1.1 Core OS
1.1.2 Core Services
1.1.3 Media
1.1.4 Cocoa Touch
1.2 iOS-SDK
1.2.1 Xcode
1.2.2 Instruments
1.2.3 Simulator
1.2.4 Test auf dem iPhone
1.3 iOS-Hardware
1.4 Besonderheiten der Programmierung
1.4.1 Speicher
1.4.2 Akkulaufzeit
1.4.3 Benutzerschnittstelle
1.4.4 Sicherheit
1.4.5 Der App Store
1.5 Objektorientierte Programmierung
1.5.1 Objekte
1.5.2 Vererbung
1.5.3 Nachrichten
1.5.4 Objective-C
2 Einstieg in die Praxis
2.1 Hefte raus, Klassenarbeit! – Die Arbeit mit Klassen
2.1.1 Objekte erzeugen: alloc und init
2.1.2 Objekte löschen: release und dealloc
2.1.3 Initializer
2.1.4 Accessoren
2.1.5 Eigene Methoden
2.1.6 Vererbung
2.1.7 Kategorien
2.1.8 Protokolle
2.2 Das erste iOS-Projekt
2.2.1 Der Interface Builder
2.2.2 Delegation
2.3 Model, View und Controller
2.3.1 Der Aufbau des Musters
2.3.2 Key-Value-Observing
2.3.3 Target-Action-Mechanismus
2.3.4 Controller in Cocoa Touch
2.4 Speicherverwaltung, Propertys und Key-Value-Coding
2.4.1 Referenzenzählen in Objective-C
2.4.2 Die Speicherverwaltungsregeln
2.4.3 Propertys
2.4.4 Key-Value-Coding
2.4.5 Abschließende Bemerkungen
2.5 Automatisches Referenzenzählen
2.5.1 Zurück in die Zukunft
2.5.2 Weakie und die starken Zeiger
2.5.3 Autoreleasepools
2.5.4 Einzelgänger
2.5.5 Migration bestehender Projekte
3 Aufwachen – analoger Wecker
3.1 Eigene View-Klassen in Cocoa Touch
3.1.1 Zeichnen in Cocoa Touch
3.1.2 Zeitberechnung
3.1.3 View-Erzeugung über NIB-Dateien
3.1.4 Aktualisierung der Zeitanzeige
3.1.5 Wiederverwendbarkeit von Views
3.2 Views und Viewcontroller
3.2.1 Outlets
3.2.2 View-Hierarchien
3.2.3 Actions
3.2.4 Ereignisse
3.2.5 Controlzustände und Buttons
3.2.6 Direkte Gestenverarbeitung
3.2.7 Übergänge
3.2.8 Der Lebenszyklus eines Viewcontrollers
3.3 Lokale Benachrichtigungen
3.3.1 Benachrichtigungen versenden ...
3.3.2 ... und verarbeiten
3.4 Eine App für alle
3.4.1 Das Retina Display
3.4.2 Sprachkursus für die App
3.4.3 Es funktioniert nicht
3.4.4 Universelle Apps
3.5 Fehlersuche
3.5.1 Logging
3.5.2 Der Debugger
3.5.3 Laufzeitfehler
3.6 Die App auf einem Gerät testen
3.6.1 Das iOS Developer Program
3.6.2 Entwicklungszertifikat und Entwicklungsprofile
3.6.3 Profilprobleme
4 Daten, Tabellen und Controller
4.1 Benachrichtigungen
4.1.1 Benachrichtigungen empfangen
4.1.2 Eigene Benachrichtigungen verschicken
4.2 Core Data
4.2.1 Datenmodellierung
4.2.2 Implementierung von Entitätstypen
4.2.3 Einbindung von Core Data
4.2.4 Der Objektkontext
4.2.5 Die Nachrichten des Objektkontexts
4.2.6 Anlegen und Ändern von Entitäten in der Praxis
4.3 View-Rotationen
4.3.1 Flexible Views dank der Autoresizingmask
4.3.2 Lang lebe das Rotationsprinzip
4.3.3 Anpassung des Layouts
4.4 Texte, Bilder und Töne verwalten
4.4.1 Die Tastatur betritt die Bühne
4.4.2 Fotos aufnehmen
4.4.3 Töne aufnehmen und abspielen
4.5 Tableviews und Core Data
4.5.1 Tableviews
4.5.2 Tabellenzellen gestalten
4.5.3 Buttons in Tabellenzellen
4.5.4 Zellen löschen
4.5.5 Core Data II: Die Rückkehr der Objekte
4.5.6 Prädikate
4.5.7 Aktualisierung des Tableviews
4.5.8 Das Delegate des Fetchedresultscontrollers
4.5.9 Tabelleneinträge suchen
4.6 Containerviewcontroller
4.6.1 Der Navigationcontroller
4.6.2 Splitviewcontroller
4.6.3 Der Pageviewcontroller
4.6.4 Subview- und Containerviewcontroller
5 Animationen und Layer
5.1 Modell und Controller
5.1.1 iOS Next Topmodel
5.1.2 View an Controller
5.1.3 Modell an Controller
5.1.4 Undo und Redo
5.1.5 Unittests
5.2 Als die Views das Laufen lernten
5.2.1 Blockfunktionen in C
5.2.2 Animationen mit Blöcken
5.2.3 Transitionen
5.2.4 Zur Animation? Bitte jeder nur einen Block!
5.3 Core Animation
5.3.1 Layer
5.3.2 Vordefinierte Layerklassen
5.3.3 Unser Button soll schöner werden
5.3.4 Spieglein, Spieglein an der Wand
5.3.5 Der bewegte Layer
5.3.6 Der View, der Layer, seine Animation und ihr Liebhaber
5.3.7 Die 3. Dimension
5.4 Der Tabbar-Controller
5.4.1 Aufbau einer Reiternavigation
5.4.2 Für ein paar Controller mehr
5.5 Was Sie schon immer über Instruments wissen wollten, aber nie zu fragen wagten
5.5.1 Spiel mir das Lied vom Leak
5.5.2 Ich folgte einem Zombie
5.5.3 Time Bandits
6 Programmieren, aber sicher
6.1 Sicherheitsmechanismen von iOS
6.2 Bedrohungen, Angriffe, Sicherheitslücken und Maßnahmen
6.2.1 Arten von Sicherheitslücken
6.3 Threat Modeling
6.3.1 Erstellen eines Datenflussdiagramms
6.3.2 STRIDE
6.3.3 Generische Design-Grundsätze
6.3.4 Threat Modeling aus der Tube – das Microsoft SDL Threat Modeling Tool
6.4 Sicherer Entwicklungszyklus
6.4.1 Awareness
6.4.2 Umgebung
6.4.3 Training
6.4.4 Dokumentation
6.4.5 Requirements
6.4.6 Design
6.4.7 Implementierung
6.4.8 Security-Testing
6.4.9 Deployment
6.4.10 Security Response
6.4.11 Sicherheitsmetriken
6.4.12 Abschließende Bemerkung
6.5 Sicherheit in der iOS-API
6.5.1 Keychain
6.5.2 Dateiattribute
6.5.3 Jailbreak-Erkennung
6.5.4 Event-Handling
7 Jahrmarkt der Nützlichkeiten
7.1 Xcode 4
7.1.1 Tabs
7.1.2 Organizer
7.2 Das Buildsystem
7.2.1 Workspaces, Projekte und Targets
7.2.2 Klassen in Bibliotheken auslagern
7.2.3 Bibliotheken wiederverwenden
7.2.4 Konfigurationen
7.2.5 Targets
7.2.6 Schemata
7.3 Ad-Hoc-Distributionen
7.3.1 Geräteregistrierung
7.3.2 Installation über das iPhone Konfigurationsprogramm
7.3.3 Ad-Hoc-Distributionen über einen Webserver
7.4 Versionsverwaltung mit Git
7.4.1 Git und Xcode
7.4.2 Git ohne Xcode
7.5 Abschließende Bemerkung
A Die Buch-DVD
Ihr Kommentar
Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.



Zum Online-Shop






