cover.jpg

Bibliografische Information der Deutschen Bibliothek
Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte Daten sind im Internet über http://dnb.ddb.de abrufbar.

Hinweis: Alle Angaben in diesem Buch wurden vom Autor mit größter Sorgfalt erarbeitet bzw. zusammengestellt und unter Einschaltung wirksamer Kontrollmaßnahmen reproduziert. Trotzdem sind Fehler nicht ganz auszuschließen. Der Verlag und der Autor sehen sich deshalb gezwungen, darauf hinzuweisen, dass sie weder eine Garantie noch die juristische Verantwortung oder irgendeine Haftung für Folgen, die auf fehlerhafte Angaben zurückgehen, übernehmen können. Für die Mitteilung etwaiger Fehler sind Verlag und Autor jederzeit dankbar. Internetadressen oder Versionsnummern stellen den bei Redaktionsschluss verfügbaren Informationsstand dar. Verlag und Autor übernehmen keinerlei Verantwortung oder Haftung für Veränderungen, die sich aus nicht von ihnen zu vertretenden Umständen ergeben. Evtl. beigefügte oder zum Download angebotene Dateien und Informationen dienen ausschließlich der nicht gewerblichen Nutzung. Eine gewerbliche Nutzung ist nur mit Zustimmung des Lizenzinhabers möglich.

© 2011 Franzis Verlag GmbH, 85540 Haar

Alle Rechte vorbehalten, auch die der fotomechanischen Wiedergabe und der Speicherung in elektronischen Medien. Das Erstellen und Verbreiten von Kopien auf Papier, auf Datenträgern oder im Internet, insbesondere als PDF, ist nur mit ausdrücklicher Genehmigung des Verlags gestattet und wird widrigenfalls strafrechtlich verfolgt.

Die meisten Produktbezeichnungen von Hard- und Software sowie Firmennamen und Firmenlogos, die in diesem Werk genannt werden, sind in der Regel gleichzeitig auch eingetragene Warenzeichen und sollten als solche betrachtet werden. Der Verlag folgt bei den Produktbezeichnungen im Wesentlichen den Schreibweisen der Hersteller.

EPUB-Bearbeitung und Konvertierung: www.goebel-software.com
Coverart & -design: www.ideehoch2.de

ISBN 9783645220798

Inhaltsübersicht

1  Über dieses Buch

1.1  Aufbau

1.2  Zielgruppe

1.3  Über den Autor

1.4  Website zum Buch

1.5  Danksagung

2  Xcode 4 – der Start

2.1  Die Installation und erste Schritte

2.2  Das Single-Window – ein Fenster für alles

2.3  Xcode-Project-Navigator (Projektbaum)

2.4  Die Navigator-Selector-Bar

2.5  Die Jump-Bar

2.6  Der Assistant

2.7  Version-Editor

2.8  Der Compiler und der Debugger

2.9  Der Interface-Builder

2.10  Das Dock

2.11  Geräteverwaltung

2.12  Vertrieb Ihres Programms

2.13  Xcode 4.2

3  Entwicklertools

3.1  Instruments

3.2  Dashcode

3.3  Kleine Helfer

3.4  iPhone-Simulator

4  iOS 5

4.1  Frameworks einbinden

4.2  Newsstand

4.3  Benachrichtigungen

4.4  iMessage

4.5  Merklisten

4.6  Twitter

4.7  Safari

4.8  PC Free und iCloud

4.9  Weitere nützliche APIs

5  Objective-C

5.1  Eine kleine Erfolgsgeschichte

5.2  Ihr Projekt für die Programm-Schnipsel

5.3  Variablen

5.4  Verzweigungen

5.5  Schleifen

5.6  Die Zusammenfassung der Code-Beispiele

5.7  Klassen

5.8  Methoden

5.9  Die Frameworks

5.10  Das Schichtenmodell

6  Testen auf dem iPhone und der Weg in den Store

6.1  Entwickler werden

6.2  Zertifikate anlegen

6.3  iPhone zum Testen benutzen

6.4  App ID erstellen

6.5  iOS Development-Provisioning-Profile anlegen

6.6  iTunes Connect

7  Die Workshops, Besonderheiten in Objective-C und ein Webbrowser

7.1  Datentypen und Properties

7.2  Der Webbrowser

8  Interaktive App: Temperatur-Umrechner

8.1  Temperatur-Umrechner

9  Der Picker-Workshop

9.1  Picker in einem Währungsumrechner

9.2  Date-Picker

10  Geodaten auf dem iPhone

10.1  Woher weiß ein iPhone, wo es ist?

10.2  Geodaten-Workshop

11  Bildschirmsteuerung

11.1  Tab-Bar-Steuerung

11.2  Table-View-Steuerung

11.3  View-Controller

11.4  Arbeiten mit Storyboards

11.5  Tab-Bar-Workshop

11.6  Table-View-Workshop

12  Datenbanken auf dem iPhone

12.1  SQLite-Datenbank

12.2  Core-Data-Workshop

13  Die Web-App und das Map-Kit

13.1  Die Web-App

13.2  Das Map-Kit

14  iAd, Werbung auf dem iPhone

14.1  iAd

14.2  iAd-Workshop

15  Audiodaten

15.1  Audiodaten-Workshop

16  Die Praxis ruft

16.1  Die Idee

16.2  Die Vorüberlegungen

16.3  Die Daten

16.4  Die Umsetzung

16.5  Testen

17  The End

17.1  Tipps und Tricks

17.2  Bücher zum Thema

17.3  Literaturverzeichnis

17.4  Ein kurzes Nachwort

Stichwortverzeichnis

1  Über dieses Buch

Dieses Buch handelt von Xcode 4.2, der neuen Entwicklungsumgebung für Mac OS X 10.7 und für iOS 5, das Betriebssystem für iPhones und iPads, welches im Herbst 2011 auf den Markt kommt.

Der Schwerpunkt des Buches liegt auf der App-Entwicklung für das iPhone.

Der Theorieteil ist sehr knapp gehalten. Der Leser erwirbt grundlegende Kenntnisse des Programmierens und der neuen Entwicklungsumgebung durch die zahlreichen Workshops, die dieses Buch anbietet.

Das Buch ist brandaktuell, weil es neben Xcode 4.2 und iOS 5 auch viele neue APIs des Betriebssystems vorstellt. Auf Neuerungen wie Storyboards in Xcode oder die neuen Features des Compilers wird ebenso eingegangen wie auf die neue Umgebung des Interface-Builders.

1.1  Aufbau

Der Aufbau ist einfach. Das Buch beginnt mit einem Theorieteil und endet in einem langen Praxisteil. Der Leser erschließt sich durch das ständige »Machen« den Stoff, den Umgang mit dem neuen Xcode und der objektorientierten Programmierung. Es wurde darauf Wert gelegt, dass der Leser jetzt schon alles über die vielen Neuerungen erfährt, die das neue Betriebssystem iOS 5 und Xcode 4.2 mit sich bringen. So ist der Leser am Puls der Zeit und kann ganz neue Ideen für seine Apps entwickeln.

In den Workshops werden wichtige Themen wie Table-Views, Datenbanken für das iPhone, das Programmieren von Pickern, das Einbinden neuer Frameworks etc. behandelt. Sie stehen als einzelne Projekte da, auf die Sie später aufbauen können.

So erhalten Sie in jedem Workshop Ideen und ein Grundgerüst für Ihre Projekte. Wie gesagt, die Praxis steht im Vordergrund. Der Leser erhält nach dem erfolgreichen Abschluss eines Workshops ein Aha-Erlebnis. Die Code-Beispiele der Workshops können umgestellt und ausgebaut werden, so dass es dem Leser leicht fallen wird, Apps für seinen eigene Bedürfnisse entwickeln zu können.

1.2  Zielgruppe

Das Buch richtet sich sowohl an Einsteiger als auch an Entwickler, die die neue Entwicklungsumgebung von Xcode 4.2 und die Features von iOS 5 kennenlernen wollen. Einsteiger steigen gleich mit der neuen Entwicklungsumgebung ein und haben am Ende des Buches einen Baukasten für die eigenen Projekte. Sie werden sehen, dass viele Entwickler auch nur mit Wasser kochen. Haben Sie dies erkannt, so ist der Weg zu eigenen Projekten, die in den Store gelangen sollen, frei.

1.3  Über den Autor

Lebt und schreibt im Ruhrgebiet. Studierte Architektur und Kunstgeschichte. Machte eine Ausbildung zum Programmierer und kam auf den Apple. Der Apple ließ ihn nicht mehr los. Er arbeitet seit fast 20 Jahren selbstständig im Apple-Bereich.

Der Autor schrieb in dieser Zeit Artikel über Podcasts, Datenverschlüsselung und GarageBand für die Zeitschrift MacPraxis. Ist Autor des Buches Inside iPod.

Der Autor schulte in diesem Abschnitt ca. 2000 Menschen über die Themen SAP, Cobol, Filemaker, Shopsysteme, iPods, iPhones, iTunes, Strukturierte Programmierung, Pagemaker, Photoshop, und App-Programmierung.

Er entwickelt Apps und übernimmt Projektleitungen für die App-Programmierung.

1.4  Website zum Buch

Falls Sie Fragen und Anregungen haben, besuchen Sie meine Website www.appzitty.de. Auf diesen Seiten dreht sich alles um die App-Programmierung. Im Bereich www.appzitty.de/download liegen die einzelnen Xcode-Projekte aus diesem Buch für Sie bereit. Sie können mich unter der E-Mail-Adresse buch@appzitty.de erreichen. Es würde mich freuen, auf diesem Weg Kontakt mit Ihnen aufnehmen zu dürfen.

Die Downloads zum Buch finden Sie außerdem auch auf www.buch.cd.

1.5  Danksagung

Man ahnt es ja gar nicht, aber um ein Buch möglich zu machen, ist auch hinter den Kulissen ein Haufen Leute nötig. Ich danke diesen Leuten. Auch wenn sie hier nicht namentlich genannt sind, sollten sie sich aber gerne angesprochen fühlen, wenn sie diese Zeilen lesen.

2  Xcode 4 – der Start

Das ist der Start Ihres Buches. In diesem Kapitel lernen Sie die Grundlagen Ihrer neuen Arbeitsumgebung Xcode 4 und höher. Vieles wird für den Entwickler leichter. Die Entwicklung Ihres Programms findet in einem Fenster statt. Der Compiler erstellt die Applikationen schneller, und die objektorientierte Entwicklungsumgebung ist übersichtlicher geworden.

2.1  Die Installation und erste Schritte

Sie bekommen Xcode 4 kostenlos, wenn Sie sich bei Apple als Entwickler registriert haben. Unter der URL www.developer.apple.com liegt es für Entwickler bereit. Wenn Sie kein Entwickler sind, steht es zum Verkauf für 3,99 Dollar im App Store unter dem Link: http://itunes.apple.com/de/app/xcode/id422352214?mt=12&affId=1529572 zur Verfügung. Um Xcode 4.02 installieren zu können, brauchen Sie einen Intel-Mac und die Mac-OS-X-Version 10.6.6. Snow Leopard oder höher. Unter Mac OS X 10.7 Lion arbeiten Sie mit Xcode 4.1. Während der Arbeiten zu diesem Buch wurde Xcode 4.2 als Entwicklungsumgebung für iOS 5 im Entwicklerbereich von Apple eingestellt. Xcode 4.2 bietet die neuesten Programmierschnittstellen für das iPhone und diese sind in diesem Buch schon berücksichtigt.

kapxc21.tif

Bild 2.1  Download von Xcode 4.02 im iTunes-Store.

Das Installationspaket enthält Xcode, IDE, Instruments, Dashcode, iOS-Simulator und die neuesten SDKs für Mac OS X und iOS. Auf die Hilfsprogramme wird in Kapitel 3 eingegangen. Alle Programme werden im Ordner Developer auf Ihrer Festplatte gespeichert. Existiert bereits ein Developer-Ordner, wird er in Developer-Old umbenannt. Sie können also ältere Versionen von Xcode weiterhin benutzen. Abbildung 2.2 zeigt Ihnen die Ordnerstruktur, die durch das Installationsprogramm auf Ihrer Festplatte angelegt wird.

kapxc21a.tif

Bild 2.2  Die Ordnerstruktur des Ordners Developer mit den wichtigsten Programmen.

Bringen Sie etwas Zeit für den Download und die Installation des Entwicklerpakets mit. Der Vorgang kann bis zu vier Stunden dauern. Wenn Sie das 4,1 GB große Installationspaket auf Ihrem Mac installiert haben, öffnet sich Xcode mit diesem Fenster:

kapxc233.tif

Bild 2.3  Das Startfenster von Xcode 4.

Hier können Sie alte Projekte öffnen oder ein neues anlegen. Um das Programm kennenzulernen, ist es möglich, den Xcode 4 User Guide – eine gute Beschreibung des Programms in Englisch – direkt von diesem Fenster aus aufzurufen.

Wenn Sie unter dem Menüpunkt Create a new Xcode project Ihr erstes neues Projekt angelegt haben, erscheint das nächste Fenster.

kapxc23.tif

Bild 2.4  Hier ist Ihre Entscheidung nötig. Wählen Sie die Projektart aus.

In diesem Fenster wählen Sie aus, ob Sie für das iPhone, iPad oder für Mac OS X entwickeln möchten. Sie haben in der linken Spalte die Auswahlmöglichkeit für das gewünschte Projekt. In der Mitte des Fensters wählen Sie die Art des Anwendungstyps aus, den Sie entwickeln möchten. Mehrere Vorlagen lassen sich dort auswählen. Sie erhalten darunter eine Beschreibung der ausgewählten Vorlage. Diese Vorlagen werden Templates genannt. Wenn Sie Ihre Entscheidung getroffen haben, quittieren Sie mit dem Next-Button. Ihr Projekt startet dann mit dem Quellcode, der wichtig ist und Ihnen eine Menge Tipparbeit erspart.

Die Übersicht über die Vorlagen im Xcode-Fenster:

Navigation-based Application

Programme, die einen Navigation Controller benutzen. Das heißt, das zu entwickelnde Programm weist mehrere Ansichten auf.

OpenGL ES Application

Hier wird die OpenGL-Grafik für das Entwickeln von Spielen eingebunden.

Split View-based Application

Erzeugt einen geteilten Bildschirm für das iPad.

Tab Bar Application

Ist für Programme mit einer Tab-Bar-Navigation. Die Benutzerführung des iPods ist ein schönes Beispiel dafür. Die Navigation erscheint mit Buttons am unteren Rand des Bildschirms und verweist auf andere Seiten.

Utility Application

Ist für Programme mit wechselnden Ansichten gedacht.

View-based Application

Für Programme mit wenigen Ansichten, also wenigen Fenstern.

Window-based Application

Ist das Standard-Template. Sie können es als Ausgangspunkt für jedes beliebige Programm benutzen.

Nachdem Sie eine Vorlage für Ihr Projekt ausgewählt haben, benennen Sie im folgenden Fenster das Projekt, versehen es mit Ihrem Firmennamen, dem Company Identifier, und weisen es einer Gerätefamilie zu. Sie können hier zwischen iPhone oder iPad auswählen.

kapxc24.tif

Bild 2.5  Hier können Sie Ihr Projekt näher spezifizieren.

Ihre Eingabe bestätigen Sie mit dem Next-Button. Nun öffnet sich die eigentliche Arbeitsumgebung in einem Single-Window. In der linken Hälfte sehen Sie einen Projektbaum. Er enthält alle für Ihr Projekt relevanten Daten und Dateien. Wenn Sie auf eine Datei im Projektbaum klicken, wird sie im rechten Teil des Fensters angezeigt. In der unteren Abbildung wurde der Menüpunkt Targets angewählt. Hier können Sie weitere Daten über Ihr Projekt eintragen, externe Frameworks einbinden oder die Hauptdarstellungsform Ihrer App wählen.

kapxc25.tif

Bild 2.6  Das Single-Window mit dem Menüpunkt Targets.

Wenn Sie im Projektbaum auf eine Datei klicken, öffnet sich diese automatisch in der rechten großen Fensterhälfte. In der unteren Abbildung wurde die Datei HelloWorldViewController.h geöffnet. Die Datei ist im Projektbaum grau hinterlegt. In der rechten Hälfte des Fensters hat sich der Editor zur Quellcode-Eingabe geöffnet.

kapxc26.tif

Bild 2.7  Der Editor von Xcode 4 zur Quellcode-Eingabe.

Für die objektorientierte Programmierung brauchen Sie den Interface-Builder. In diesem ordnen Sie Objekte wie Schaltflächen, Slider, Textfelder und so weiter auf einer Arbeitsfläche, dem View, an. Wenn Sie auf die Dateien mit der Endung .xib im Projektbaum klicken, öffnet sich der Interface-Builder. In Xcode 3 war diese Umgebung ein eigenständiges Programm. In Xcode 4 ist der Interface-Builder in Xcode integriert. Die Arbeitsumgebung erscheint im Single-Window.

kapxc28.tif

Bild 2.8  Der Interface-Builder in Aktion. Hier wurde die Datei HelloWorldViewController.xib geöffnet.

In Xcode geben Sie Ihren Quelltext ein und verwalten Ihr Projekt. Im Interface-Builder geben Sie Ihren Programmen eine Gestalt. Dort bestimmen Sie, wie eine App oder ein Programm auszusehen hat. Sie gestalten damit die sogenannte GUI (engl.: »Graphical User Interface«). Auf Deutsch heißt das, dass die grafische Benutzerschnittstelle oder die »Mensch-Maschine-Schnittstelle« mit den Elementen des Interface-Builders entworfen wird.

2.2  Das Single-Window – ein Fenster für alles

In Xcode 4 spielt sich alles in einem Fenster ab. Egal, ob Sie mit dem Interface-Builder objektorientiert programmieren wollen, Quelltext eingeben oder Ihr Projekt verwalten. Alles geschieht im Single-Window.

kapxc29.tif

Bild 2.9  Das Single-Window von Xcode.

Das Fenster ist in mehrere Bereiche aufgeteilt. Sie bekommen hier den Überblick und die Zuordnung der Elemente im Hauptfenster von Xcode 4.

Navigator-Area

Im Navigator-Bereich befindet sich der Projektbaum Ihres Projekts. Hier verwalten Sie die Dateien Ihres Projekts, binden externe Dateien ein oder fügen Bibliotheken für die Programmierung hinzu.

Editor-Area

Im Editor-Bereich geben Sie Quelltext ein. Dieser Bereich wird auch vom Debugger genutzt, um Fehler direkt im Quelltext anzuzeigen.

Debug-Area

Im Debug-Bereich, der sich unter dem Editor-Fenster befindet, bekommen Sie Fehlermeldungen angezeigt. Darüber befindet sich die Menüleiste, mit der Sie den Debugger steuern können.

Utility-Area

Im Utility-Bereich befinden sich die Werkzeuge, die Sie für die objektorientierte Programmierung brauchen. Dort können Sie die einzelnen Inspectors des Interface-Builders aufrufen. Außerdem steht Ihnen dort eine Library zur Verfügung, die alle Objekte für die grafische Benutzeroberfläche enthält.

Navigator-Selector-Bar

In der Navigator-Selector-Bar rufen Sie die Programmteile auf, die im Folgenden beschrieben sind.

Jump-Bar

Die Jump-Bar korrespondiert mit dem Projektbaum in der linken Ecke des Fensters. Die einzelnen Elemente des Projektbaums werden durch die Jump-Bar klickbar, und sie zeigt Ihnen den aktuellen Standort im Xcode-Projekt an.

Inspector-Bar

Die Inspector-Bar benutzen Sie für die Arbeit im Interface-Builder. Mit ihr rufen Sie die Inspectors auf, die Sie für die Arbeit im Interface-Builder benötigen. Wenn Sie einen Inspector auswählen, wird er Ihnen unter der Inspector-Bar angezeigt.

Debug-Bar

Mit der Debug-Leiste steuern Sie den Debugger. Sie können ihn dort stoppen oder in kleinen Schritten fortfahren, um zu sehen, was gerade in einem Abschnitt passiert.

Library-Selector-Bar

Mit der Library-Selector-Leiste wird die Bibliothek im Interface-Builder aufgerufen, um Objekte, die Sie für Ihr User-Interface brauchen, zu platzieren.

Die Hauptsteuerung in Xcode

Die Hauptsteuerung von Xcode ist in zwei Bereiche aufgeteilt: die Flow-Control und die Workspace-Configuration. In der Mitte der beiden Arbeitsbereiche befindet sich der Activity-Viewer.

kapxc29a.tif

Bild 2.10  Hauptsteuerung des Single-Windows.

Flow-Control-Bereich

In diesem Bereich starten oder halten Sie den Debugger an. Dazu benutzen Sie den Run- oder Stop-Button. Sie können mit dem Breakpoint-Button Haltepunkte in Ihrem Programm setzen, um zu sehen, was in einem bestimmten Abschnitt Ihres Programms bis zu dem gesetzten Breakpoint passiert.

Workspace-Configuration

In dieser Umgebung verändern Sie das Aussehen des Hauptfensters, in dem Sie gerade arbeiten. Wenn Sie auf die Schaltknöpfe des Editor-Selectors klicken, verändern Sie die Ansicht der Editor-Fensters. Das Konsolenfenster des Debuggers kann so ein- und ausgeblendet werden. Durch die View-Selector-Buttons verändern Sie im Interface-Builder die Ansichten des Fensters. So können Sie das Bibliothek- und die Inspector-Fenster ein- und ausblenden.

Mit dem Organizer-Button rufen Sie ein Fenster auf, in dem sich weitere Projektdaten verwalten lassen. Hier können Sie unter dem Menüpunkt Devices ein iPhone zum Testen Ihrer App anmelden, Ihre Versionsverwaltung pflegen oder Ihr Projekt archivieren.

Activity-Viewer

Hier wird Ihnen angezeigt, was in Xcode gerade passiert. Durch einen Statusbalken wird Ihnen angezeigt, wie lange es noch dauert, um das Programm zu kompilieren, oder wie viele Fehler der Debugger gerade anzeigt.

2.3  Xcode-Project-Navigator (Projektbaum)

Der Projektbaum dient dazu, ihre Projekte zu verwalten. Sie benötigen ihn, um Ihre Programmierarbeit zu bewältigen.

In ihm rufen Sie die Dateien Ihres Projekts auf. Die wichtigsten Dateien sind die mit den Endungen .m, .h und .xib.

kapxc211.tif

Bild 2.11  Die wichtigsten Dateien im Projektbaum.

Dateien mit der Endung .xib