Inhaltsverzeichnis
Geleitwort
Vorwort
1 Hello iPhone
1.1 Voraussetzungen
1.1.1 Das SDK und die Entwicklerprogramme
1.1.2 Der Simulator
1.1.3 Test der Arbeitsumgebung
1.2 App geht's ...
1.2.1 Ein neues Projekt
1.2.2 Sehr verbunden
1.2.3 Netzwerk und Ausgabe
1.2.4 Test auf einem Gerät
1.2.5 Entwicklungszertifikat und Entwicklungsprofile
1.2.6 Entwicklerprofile ohne Wildcards
1.2.7 Profilprobleme
1.3 Zusammenfassung
2 Grundlagen
2.1 Objektorientierte Programmierung
2.1.1 Objekte und Abstraktion
2.1.2 Vererbung
2.1.3 Überschreiben von Methoden und spätes Binden
2.1.4 Objektorientierung in Objective-C
2.1.5 Die Architektur von iOS-Programmen
2.2 Hefte raus, Klassenarbeit!
2.2.1 Controller und View in der Praxis
2.2.2 Modellbau
2.2.3 Initializer und Methoden
2.2.4 Vererbung
2.2.5 Kategorien
2.2.6 Protokolle
2.2.7 Vorwärtsdeklarationen
2.2.8 Kommunikation zwischen den Schichten
2.2.9 Delegation
2.3 Speicherverwaltung, Propertys und Key-Value-Coding
2.3.1 Der Stack
2.3.2 Der Heap
2.3.3 Referenzen zählen
2.3.4 Die Speicherverwaltungsregeln
2.3.5 Autorelease-Pools
2.3.6 Propertys und Accessoren
2.3.7 Key-Value-Coding
2.3.8 Abschließende Bemerkungen
2.4 Automatisches Referenzenzählen
2.4.1 Zurück in die Zukunft
2.4.2 Weakie und die starken Zeiger
2.4.3 Autorelease-Pools
2.4.4 Einzelgänger
2.4.5 Migration bestehender Projekte
2.5 Das Foundation-Framework
2.5.1 Mutables und Immutables
2.5.2 Elementare Klassen
2.5.3 Collections
2.6 Blöcke
2.6.1 Rückruffunktionen
2.7 Namenskonventionen
2.8 Zusammenfassung
3 Views und Viewcontroller
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 Outlet-Collections
3.2.3 Containerviews
3.2.4 Viewhierarchien
3.2.5 Actions
3.2.6 Ereignisse
3.2.7 Controlzustände und Buttons
3.2.8 Direkte Gestenverarbeitung
3.2.9 Übergänge
3.2.10 Der Lebenszyklus eines Viewcontrollers
3.2.11 Speicher- und Ressourcenverwaltung des Viewcontrollers
3.3 Lokale Benachrichtigungen
3.3.1 Benachrichtigungen versenden
3.3.2 Benachrichtigungen 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 Launch-Images und iPhone 5
3.4.5 Universelle Apps
3.5 Fehlersuche
3.5.1 Logging
3.5.2 Der Debugger
3.5.3 Die Debuggerkonsole
3.5.4 Laufzeitfehler
4 Alles unter Kontrolle
4.1 Viewcontroller, XIBs und Storyboards
4.1.1 Erstellung von Viewcontrollern über XIB-Dateien
4.1.2 Applikationsinitialisierung
4.1.3 Storyboards
4.1.4 Modale Dialoge
4.1.5 Pop-over
4.1.6 Übergänge
4.2 Der Navigationcontroller
4.2.1 Viewcontroller anzeigen und entfernen
4.2.2 Die Navigationsleiste
4.2.3 Der Zurückbutton
4.2.4 Gehe drei Felder zurück
4.2.5 Die Werkzeugleiste
4.2.6 Navigations- und Werkzeugleisten gestalten
4.3 Navigation- und Pop-over-Controller in der Praxis
4.3.1 Navigationcontroller anlegen
4.3.2 Einen Dialog für die Einstellungen gestalten
4.3.3 Einstellungen dauerhaft speichern
4.3.4 Anpassung an das iPad
4.4 Der Splitviewcontroller
4.4.1 Das Splitviewcontroller-Delegate
4.4.2 Ein praktisches Beispiel
4.4.3 Anpassung des Rotationsverhaltens
4.5 Der Tabbarcontroller
4.5.1 Aufbau einer Reiternavigation
4.5.2 Plaketten
4.5.3 Für ein paar Controller mehr
4.5.4 Der Tabbarcontroller im Storyboard
4.5.5 Die Gestaltungsmöglichkeiten für die Tabbar unter iOS 5
4.6 Der Pageviewcontroller
4.6.1 Einen Pageviewcontroller erzeugen
4.6.2 Die Datenquelle und das Delegate
4.7 Eigene Container- und Subviewcontroller
4.7.1 Container- und Subviewcontroller
4.7.2 Eigene Subviewcontroller
4.7.3 Eigene Delegate-Protokolle erstellen
4.7.4 Delegate-Protokolle erweitern
4.8 Regelbasierte Anpassung der Oberfläche
4.8.1 Gestaltungsregeln ...
4.8.2 ... und Gestaltungsmöglichkeiten
5 Daten, Tabellen und Controller
5.1 Benachrichtigungen
5.1.1 Benachrichtigungen empfangen
5.1.2 Eigene Benachrichtigungen verschicken
5.2 Layoutanpassungen und Viewrotationen
5.2.1 Flexible Views dank Autosizing
5.2.2 Lang lebe das Rotationsprinzip!
5.2.3 Anpassung des Layouts
5.3 Autolayout
5.3.1 Restriktionen im Interface Builder festlegen
5.3.2 Restriktionen per Programmcode erstellen
5.3.3 Autolayout und Lokalisierung
5.4 Core Data
5.4.1 Datenmodellierung
5.4.2 Implementierung von Entitätstypen
5.4.3 Einbindung von Core Data
5.4.4 Der Objektkontext
5.4.5 Die Nachrichten des Objektkontexts
5.4.6 Anlegen und Ändern von Entitäten in der Praxis
5.5 Texte, Bilder und Töne verwalten
5.5.1 Die Tastatur betritt die Bühne
5.5.2 Fotos aufnehmen
5.5.3 Töne aufnehmen und abspielen
5.6 Tableviews und Core Data
5.6.1 Tableviews
5.6.2 Tabellenzellen gestalten
5.6.3 Tableviews unter iOS 5
5.6.4 Buttons in Tabellenzellen
5.6.5 Zellen löschen
5.7 Core Data II: Die Rückkehr der Objekte
5.7.1 Prädikate
5.7.2 Aktualisierung des Tableviews
5.7.3 Das Delegate des Fetchedresultscontrollers
5.7.4 Tabelleneinträge suchen
5.8 Twitter
5.8.1 Der Twitter-Account
5.8.2 Hinzufügen des Twitter-Frameworks
5.8.3 Integration in das Fototagebuch
5.9 Collectionviews
5.9.1 Der Collectionviewcontroller
5.9.2 Gitterdarstellung
5.9.3 Zellen und die Datenquelle
5.9.4 Ergänzende Views
5.9.5 Freie Layouts
5.9.6 Freie Layouts und ergänzende Views
5.9.7 Zellen auswählen
5.9.8 Decorationviews
6 Models, Layer, Animationen
6.1 Modell und Controller
6.1.1 iOS Next Topmodel
6.1.2 View an Controller
6.1.3 Modell an Controller
6.1.4 Undo und Redo
6.1.5 Unit-Tests
6.2 Als die Views das Laufen lernten
6.2.1 Animationen mit Blöcken
6.2.2 Transitionen
6.2.3 Zur Animation? Bitte jeder nur einen Block!
6.3 Core Animation
6.3.1 Layer
6.3.2 Vordefinierte Layer-Klassen
6.3.3 Unser Button soll schöner werden
6.3.4 Spieglein, Spieglein an der Wand
6.3.5 Der bewegte Layer
6.3.6 Daumenkino
6.3.7 Relativitätstheorie
6.3.8 Der View, der Layer, seine Animation und ihr Liebhaber
6.3.9 Die 3. Dimension
6.4 Scrollviews und gekachelte Layer
6.4.1 Scrollen und Zoomen
6.4.2 Die Eventverarbeitung
6.4.3 Scharfe Kurven
6.4.4 Ganz großes Kino
6.4.5 PDF-Dateien anzeigen
6.5 Über diese Brücke musst du gehen
6.5.1 Toll-Free Bridging und ARC
6.5.2 C-Frameworks und ARC
6.6 Was Sie schon immer über Instruments wissen wollten, aber nie zu fragen wagten
6.6.1 Spiel mir das Lied vom Leak
6.6.2 Ich folgte einem Zombie
6.6.3 Time Bandits
7 Programmieren, aber sicher
7.1 iOS und Hardware
7.2 Bedrohungen, Angriffe, Sicherheitslücken und Maßnahmen
7.2.1 Arten von Sicherheitslücken
7.3 Threat Modeling
7.3.1 Erstellen eines Datenflussdiagramms
7.3.2 STRIDE
7.3.3 Generische Design-Grundsätze
7.3.4 Threat Modeling aus der Tube – das Microsoft SDL Threat Modeling Tool
7.4 Sichere Programmierung in der Praxis
7.4.1 Authentisierung
7.4.2 Keychain
7.4.3 Jailbreak-Erkennung
7.4.4 Verzeichnisse und Dateiattribute
7.4.5 Event-Handling
7.4.6 Screenshots
7.4.7 Sorgfältiger Umgang mit der Bildschirmsperre
7.4.8 Struktur und Ordnung im Sandkasten
7.5 iCloud
7.5.1 Denkanstöße
7.5.2 iCloud in der Praxis
7.5.3 Key Value Storage
7.5.4 Verschlüsselung in der Cloud
8 Datenserialisierung und Internetzugriff
8.1 Ich packe meine Texte
8.1.1 Serialisierung von Zeichenketten
8.1.2 Zeichenkodierungen
8.1.3 Unicode und UTF-8
8.1.4 Die Zeichenkodierung erkennen
8.1.5 Zeichenketten konvertieren
8.2 JSON und die URLonauten
8.2.1 Das JSON-Format
8.2.2 Einfacher YouTube-Zugriff mit JSON
8.2.3 URLs erstellen
8.2.4 JSON-Dokumente schreiben
8.2.5 Verwendung des JSONKits als Parser
8.3 XML
8.3.1 XML in Kürze
8.3.2 Property-Listen
8.3.3 SAX
8.3.4 DOM und XPath
8.3.5 Der Tag der Entscheidung
8.4 Daten, Daten, ihr müsst wandern
8.4.1 Synchrone Kommunikation
8.4.2 Komplexe Anfragen
8.4.3 Auf dem Webserver nichts Neues
8.4.4 Asynchrone Kommunikation
8.4.5 Große Datenmengen der Übertragung
8.4.6 Passwortabfragen
8.4.7 Hier geht die POST ab
8.4.8 Datei-Upload
8.4.9 Überprüfung der Erreichbarkeit
8.5 Karten
8.5.1 Karten darstellen
8.5.2 Koordinatensysteme
8.5.3 Geokoordinaten bestimmen
8.5.4 Eigene Kartenbeschriftungen
8.5.5 Routen
9 Jahrmarkt der Nützlichkeiten
9.1 Die Struktur von Xcode 4
9.1.1 Das Hauptfenster und die Werkzeugleiste
9.1.2 Die Navigatorspalte
9.1.3 Der Utilitybereich
9.1.4 Der Editor
9.1.5 Autovervollständigung und Codeschnipsel
9.1.6 Tastaturkurzbefehle
9.1.7 Tabs und Fenster
9.1.8 Liebling, ich habe das SDK geschrumpft
9.1.9 Snapshots
9.2 Refactoring
9.2.1 Refactorings in Xcode
9.2.2 Methoden auslagern
9.2.3 Oberklassen erzeugen und Methoden verschieben
9.2.4 Attribute kapseln und verschieben
9.3 Der Organizer
9.3.1 Die Geräteverwaltung
9.3.2 Projektverwaltung
9.3.3 Archive und die Archivverwaltung
9.3.4 Dokumentation
9.4 Das Buildsystem
9.4.1 Workspaces, Projekte und Targets
9.4.2 Klassen in Bibliotheken auslagern
9.4.3 Bibliotheken wiederverwenden
9.4.4 Konfigurationen
9.4.5 Targets
9.4.6 Schemata
9.5 Ad-Hoc-Distributionen
9.5.1 Geräteregistrierung
9.5.2 Installation über das iPhone-Konfigurationsprogramm
9.5.3 Ad-Hoc-Distributionen über einen Webserver
9.6 Versionsverwaltung mit Git
9.6.1 Lokale Git-Repositorys
9.6.2 Arbeiten mit verteilten Git-Repositorys
9.6.3 Git-Integration in Xcode
9.6.4 Einbindung existierender Git-Repositorys
9.6.5 GitX
9.6.6 SourceTree
9.6.7 Das Kommandozeilenprogramm von Git
9.6.8 Der eigene Git-Server
A Sicherer Entwicklungszyklus
A.1 Awareness
A.2 Umgebung
A.3 Training
A.4 Dokumentation
A.5 Requirements
A.6 Design
A.7 Implementierung
A.8 Security-Testing
A.9 Deployment
A.10 Security Response
A.11 Sicherheitsmetriken
A.12 Abschließende Bemerkung
Stichwortverzeichnis
Ihr Kommentar
Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.



Zum Online-Shop






