Programmieren für iphone und ipad



Ähnliche Dokumente
Programmieren für iphone und ipad

Programmieren fürs iphone

Programmieren für iphone und ipad

ipad Air 2 und ipad mini 3

Software modular bauen

Michael Kurz Martin Marinschek

IT-Service-Management mit ITIL 2011 Edition

Nicolai Josuttis. SOA in der Praxis. System-Design für verteilte Geschäftsprozesse

Dominik Schadow. Java-Web-Security. Sichere Webanwendungen mit Java entwickeln

Über die Herausgeber

Die Computerwerkstatt


Cloud-Computing für Unternehmen

Praxiswissen TYPO3 CMS 7 LTS

Im Rahmen seiner Beratertätigkeit veröffentlicht er Artikel und hält Vorträge und Schulungen zu diesen und weiteren Themen.

IT-Servicemanagement mit ITIL V3

Praxisbuch BI Reporting

Mike Burrows Übersetzer: Florian Eisenberg Wolfgang Wiedenroth

Web-Apps mit jquery Mobile

Professionell blitzen mit dem Nikon Creative Lighting System

IT-Servicemanagement mit ITIL V3

Basiswissen Medizinische Software

Konfigurationsmanagement mit Subversion, Ant und Maven

VMware vrealize Automation Das Praxisbuch

Glossar. Launching auf.

CNC-Fräsen für Maker und Modellbauer

Dipl.-Inform. Sven Röpstorff Dipl.-Kaufm. Robert Wiechmann

Basiswissen Medizinische Software

Programmieren für iphone und ipad

Tilman Beitter Thomas Kärgel André Nähring Andreas Steil Sebastian Zielenski

Uwe Vigenschow Andrea Grass Alexandra Augstin Dr. Michael Hofmann

arbeitete im Max-Planck-Institut und an der Uni Köln. Von ihm sind bereits mehrere Bücher zu Webthemen erschienen.

Maik Schmidt arbeitet seit beinahe 20 Jahren als Softwareentwickler für mittelständische und Großunternehmen. Er schreibt seit einigen Jahren

Dr. Carola Lilienthal

München 2014) und»uml2 glasklar«(carl Hanser Verlag München

Dr. Michael Hahne

er auch mit dem 3D-Programm Blender in Kontakt, über das er bisher zahlreiche Vorträge hielt und Artikel in Fachzeitschriften veröffentlichte.

Microsoft Office:mac 2011 Das Grundlagenbuch: Home and Student

Basiswissen Software-Projektmanagement

IT-Projektverträge: Erfolgreiches Management

dpunkt.lehrbuch Bücher und Teachware für die moderne Informatikausbildung

ipad Air und ipad mini Retina

Continuous Delivery. Der pragmatische Einstieg. von Eberhard Wolff. 1. Auflage. dpunkt.verlag 2014

JavaScript kinderleicht!

Martina Seidl Marion Brandsteidl Christian Huemer Gerti Kappel. Classroom. Eine Einführung in die objektorientierte Modellierung

Fotografieren lernen Band 2

Prof. Dr. Matthias Knoll

Maik Schmidt

Über die Autoren.

Software entwickeln mit Verstand

IT-Controlling für die Praxis

Kim Nena Duggen ist Vorstand und Trainerin der oose Innovative Informatik eg. Ihre thematischen Schwerpunkte sind das Geschäftsprozessmanagement,

iphone developer conference Die Entwickler- und Buiness- Konferenz für iphone, ipad und ipod touch

Basiswissen Software- Projektmanagement

Leitfaden Web-Usability

Tobias H. Strömer. Online-Recht. Juristische Probleme der Internet-Praxis erkennen und vermeiden. 4., vollständig überarbeitete Auflage

Agile Softwareentwicklung in großen Projekten

Perspektiven: Spiele in ios

Helge Dohle Rainer Schmidt Frank Zielke Thomas Schürmann ISO Eine Einführung für Manager und Projektleiter

Jens Jacobsen. Website-Konzeption. Erfolgreiche Websites planen, umsetzen und betreiben. 7., überarbeitete und erweiterte Auflage

Basiswissen Softwaretest

Abenteuer Softwarequalität

Nur ein paar Schritte zum ebook...

Jochen Bartlau. List & Label. schnell + kompakt

Elisabeth Hendrickson Übersetzerin: Meike Mertsch

Agile Softwareentwicklung in großen Projekten

Das Google Analytics-Buch. Cathrin Tusche

Apps für ios entwickeln

Datawarehousing mit SAP BW 7

Soft Skills für Softwareentwickler

IT-Unternehmensarchitektur

Adobe Flash CS4. Herbert A. Mitschke. inklusive DVD-ROM. Von den Programmier-Grundlagen zur professionellen Webentwicklung

Grundmann Rathner Abschlussprüfungen Bankwirtschaft, Rechnungswesen und Steuerung, Wirtschafts- und Sozialkunde

Dipl.-Inform. Henning Wolf Prof. Dr. ir. Rini van Solingen Eelco Rustenburg

Digitales Publizieren für Tablets

Handlungshilfen für Bildungsberater. Leitfaden. für die Bildungspraxis. Band 25. Organisation betrieblicher Weiterbildung

Managementsysteme für IT-Serviceorganisationen

Apple Train the Trainer 10 App Store Submission. Josef Kolbitsch

Apple Train the Trainer 08 Developer Programs. Josef Kolbitsch

unten auf der Hauptseite des itunes Store auf die entsprechende Landesflagge (Deutschland) klicken. Abbildung 1: itunes Store Land auswählen

ANLEITUNG GERÄTEREGISTRATION KRZ.SMK IOS MIT IBM VERSE APP

ANLEITUNG GERÄTEREGISTRATION AN KRZ.SMK IOS

Abenteuer Softwarequalität

InDesign automatisieren

Konfigurationsmanagement mit Subversion, Maven und Redmine

Basiswissen Softwaretest

Scholz (Hrsg.) / Krämer / Schollmayer / Völcker. Android-Apps. Konzeption, Programmierung und Vermarktung

SharePoint 2013 Mobile Access

Vladimir Simovic Thordis Bonfranchi-Simovic. Werkzeuge fürs Web. Nützliche Tools für Webdesigner, Webentwickler, Blogger und Online-Redakteure

Ein mobiler Electronic Program Guide

Basiswissen Geschäftsprozessmanagement

AK Medientechnologien 08 App Deployment. Josef Kolbitsch

Joan ist Autor bzw. Koautor von mehr als drei Dutzend Büchern über Windows und Office (für Windows, Mac und ipad), videobasierten Trainingskursen

Sebastian Springer, Testgetriebene Entwicklung mit JavaScript, dpunkt.verlag, ISBN D3kjd3Di38lk323nnm

Xcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X

Daniel Mauch. Entwicklung eines benutzerorientierten Segmentiersystems für biomedizinische Bilder. disserta Verlag

Joachim Baumann Daniel Arndt Frank Engelen Frank Hardy Carsten Mjartan. Vaadin. Der kompakte Einstieg für Java-Entwickler

Transkript:

Markus Stäuble Programmieren für iphone und ipad Einstieg in die App-Entwicklung für das ios 5 4., aktualisierte und erweiterte Auflage

Lektorat: René Schönfeldt, Gabriel Neumann Copy Editing: Ursula Zimpfer, Herrenberg Herstellung: Nadine Thiele Umschlaggestaltung: Helmut Kraus, www.exclam.de Druck und Bindung: M.P. Media-Print Informationstechnologie GmbH, 33100 Paderborn Bibliografische Information der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar. ISBN 978-3-89864-810-3 4., aktualisierte und erweiterte Auflage 2012 Copyright 2012 dpunkt.verlag GmbH Ringstraße 19B 69115 Heidelberg Die vorliegende Publikation ist urheberrechtlich geschützt. Alle Rechte vorbehalten. Die Verwendung der Texte und Abbildungen, auch auszugsweise, ist ohne die schriftliche Zustimmung des Verlags urheberrechtswidrig und daher strafbar. Dies gilt insbesondere für die Vervielfältigung, Übersetzung oder die Verwendung in elektronischen Systemen. Es wird darauf hingewiesen, dass die im Buch verwendeten Soft- und Hardware-Bezeichnungen sowie Markennamen und Produktbezeichnungen der jeweiligen Firmen im Allgemeinen warenzeichen-, marken- oder patentrechtlichem Schutz unterliegen. Alle Angaben und Programme in diesem Buch wurden mit größter Sorgfalt kontrolliert. Weder Autor noch Verlag können jedoch für Schäden haftbar gemacht werden, die in Zusammenhang mit der Verwendung dieses Buches stehen. 5 4 3 2 1 0

v»bis zur ersten App ist das iphone auch nur ein Telefon.«Markus Stäuble

vi

vii Inhaltsverzeichnis 1 Einleitung 1 1.1 Begriffe........................................ 2 1.2 Was behandelt dieses Buch?........................ 3 1.3 Wie sollten Sie dieses Buch lesen?.................... 8 1.4 Was können Sie, wenn Sie dieses Buch durchgearbeitet haben?........................................ 9 1.5 Danksagung................................... 10 Grundlagen 11 2 Installation und ein erstes Beispiel 13 2.1 Das ios Dev Center............................. 13 2.2 Das ios SDK installieren......................... 17 2.3 Das ios SDK deinstallieren....................... 20 2.4 Ein erstes Beispiel............................... 21 2.5 Beispiele aus dem ios Dev Center nutzen............. 31 2.6 Zusammenfassung.............................. 32 3 Grundlagen einer ios-anwendung 33 3.1 ios: Basis für die Anwendungsentwicklung........... 33 3.2 Core OS...................................... 36 3.2.1 Accelerate Framework: Mathematik für Audio und Video.............................. 37 3.2.2 Accessory Support: Anbindung von externen Geräten................................ 37 3.2.3 Core Bluetooth.......................... 37 3.2.4 Generic Security Services................... 37 3.2.5 Security: Basisdienste für Applikationssicherheit. 38 3.2.6 System: Zugriff auf Low-Level-Funktionalitäten. 38

viii Inhaltsverzeichnis 3.3 Core Services................................... 39 3.3.1 Accounts Framework...................... 40 3.3.2 Address Book: Die Kontaktdatenbank......... 40 3.3.3 CFNetwork: Basisdienste für die Netzwerkkommunikation.................. 41 3.3.4 Core Data: Management Ihrer Anwendungsdaten 41 3.3.5 Core Foundation: Basisdienste für die Programmierung......................... 42 3.3.6 Core Location: Basisdienste für Location Based Services (LBS)...................... 43 3.3.7 Core Media............................. 44 3.3.8 Core Telephony.......................... 44 3.3.9 Event Kit............................... 44 3.3.10 Foundation Framework.................... 45 3.3.11 Newsstand Kit........................... 45 3.3.12 Mobile Core Services...................... 46 3.3.13 Quick Look Framework................... 46 3.3.14 Store Kit Framework...................... 46 3.3.15 System Configuration Framework............ 47 3.3.16 Automatic Reference Counting.............. 47 3.3.17 Block Objects............................ 47 3.3.18 Grand Central Dispatch.................... 49 3.3.19 In App Purchase: Erweiterung gegen Bezahlung anbieten................................ 55 3.3.20 icloud Storage........................... 56 3.3.21 SQLite: Die eingebaute Datenbank........... 56 3.3.22 Unterstützung für die Arbeit mit XML........ 56 3.4 Media........................................ 57 3.4.1 Grafik................................. 57 3.4.2 Audio.................................. 59 3.4.3 Video.................................. 60 3.4.4 AirPlay................................. 61 3.5 Cocoa Touch.................................. 61 3.5.1 Was ist Cocoa?.......................... 61 3.5.2 Grundlagen der Cocoa-Programmierung....... 62 3.5.3 Cocoa Design Patterns..................... 64 3.5.4 Frameworks des Cocoa Touch Layer.......... 70 3.5.5 Wichtige Konzepte des Cocoa Touch Layer..... 74 3.6 Laufzeitumgebung einer ios-anwendung............. 79 3.6.1 Grundfunktionen......................... 79 3.6.2 Dateisystem............................. 79 3.6.3 Sicherheit............................... 80 3.6.4 Sicherheitskopie der Daten.................. 81 3.6.5 Erkennung der Laufzeitumgebung............ 82

Inhaltsverzeichnis ix 3.7 Lebenszyklus einer ios-anwendung................. 82 3.7.1 Aktivierung der Anwendung (Initialisierung)... 83 3.7.2 Abarbeitung von Ereignissen (Events)......... 85 3.7.3 Anwendung in den Hintergrund schicken...... 86 3.7.4 Zustände einer Anwendung unter ios........ 87 3.8 Objektkommunikation........................... 88 3.8.1 Outlets................................ 88 3.8.2 Delegates............................... 89 3.8.3 Notifications............................ 91 3.8.4 Target-Actions.......................... 92 3.9 Grundelemente einer Benutzeroberfläche............. 92 3.9.1 Window oder View....................... 93 3.9.2 Window............................... 93 3.9.3 View.................................. 94 3.9.4 View Controller......................... 94 3.10 Game Center.................................. 97 3.11 Zusammenfassung............................. 105 4 Das SDK im Detail 107 4.1 Die Bestandteile des ios SDK..................... 107 4.2 Xcode die Entwicklungsumgebung............... 108 4.2.1 Grundelemente in der Xcode-Entwicklung.... 108 4.2.2 Die Startseite........................... 109 4.2.3 Neues Projekt in Xcode erstellen............ 113 4.2.4 Migration auf Automatic Reference Counting. 117 4.2.5 Das Projektfenster von Xcode.............. 119 4.2.6 Ein Kernstück in der Entwicklung: Der Quelltexteditor...................... 124 4.2.7 Grafische Editoren für Core Data........... 126 4.2.8 Quick Help: Der kleine Helfer............. 128 4.3 Der Interface Builder........................... 129 4.3.1 NIB und XIB: Behälter für den Interface Builder 130 4.3.2 Storyboard............................ 131 4.3.3 Die zentralen Oberflächenelemente.......... 131 4.3.4 Oberflächen erzeugen.................... 132 4.3.5 Layoutgestaltung mit dem Interface Builder... 134 4.3.6 Ein einfaches Beispiel: Schritt für Schritt zur ersten Oberfläche....................... 137 4.4 Der ios Simulator............................. 140 4.4.1 Grundfunktionen der Bedienung............ 142 4.4.2 Die Gesten für das iphone................. 143 4.4.3 Apps anordnen......................... 145

x Inhaltsverzeichnis 4.4.4 Anwendungen deinstallieren............... 145 4.4.5 Erweiterte Funktionen des ios Simulator..... 147 4.5 Instruments................................... 149 4.5.1 Instruments starten...................... 150 4.5.2 Eine eigene Vorlage zusammenstellen........ 154 4.5.3 Ein Beispiel für den Einstieg................ 155 4.6 Der Debugger................................. 157 4.6.1 Debugging ohne Debugger................. 157 4.6.2 Debugging in Xcode..................... 158 4.6.3 Debugging-Arten........................ 161 4.7 Der Organizer................................ 162 4.8 Zusammenfassung............................. 166 5 Entwickeln für das ipad 167 5.1 Unterschiede zum iphone........................ 167 5.1.1 Neue Konfigurationsschlüssel.............. 167 5.1.2 Neue Oberflächenelemente................ 170 5.2 Vorlagen für das ipad........................... 172 5.3 Die Universal-App.............................. 174 5.4 Migration einer vorhandenen App................. 176 5.5 Zusammenfassung............................. 179 Programmierung 181 6 Einstiegsbeispiele 183 6.1 Programmieren mit dem Adressbuch................ 183 6.1.1 Der Rahmen für die Anwendung............ 184 6.1.2 Lesender Zugriff auf das Adressbuch......... 192 6.1.3 Schreibender Zugriff auf das Adressbuch...... 203 6.2 Persistierung von Daten......................... 216 6.2.1 Verwendung der integrierten Datenbank SQLite 217 6.2.2 Verwendung von Core Data............... 225 6.3 Location Based Services......................... 230 6.3.1 Anzeige der Karte mit MapKit.............. 230 6.3.2 Anzeige einer Region mit MapKit........... 232 6.3.3 Position in der Karte markieren............. 233 6.3.4 Einsatz von Core Location................. 235 6.4 Zusammenfassung............................. 237

Inhaltsverzeichnis xi 7 Eine App für das Lesen von RSS entwickeln 239 7.1 Der Rahmen für die Anwendung.................. 239 7.2 Datenstruktur für die RSS-Nachrichten............. 242 7.3 Einlesen der RSS-Nachrichten als XML............. 242 7.4 Erzeugen des XML-Parsers....................... 244 7.5 Anzeige der Nachricht im Browser................. 249 7.6 Zellen der Tabelle anpassen...................... 253 7.7 Öffnen der Nachrichten im angepassten Browser...... 258 7.8 Zusammenfassung............................. 261 8 Eine Aufgabenliste entwickeln 263 8.1 Rahmen der Anwendung........................ 263 8.2 Datenmodell erstellen........................... 265 8.3 Oberfläche für eine Aufgabe...................... 269 8.4 Eigene Tabellenzelle gestalten..................... 279 8.5 Anzeigen und Ändern einer Aufgabe............... 285 8.6 Aufgaben sortieren und löschen................... 286 8.7 Weitere interessante Themenbereiche............... 290 8.8 Zusammenfassung............................. 291 9 Testen auf dem Endgerät 293 9.1 Das ios Developer Program...................... 293 9.1.1 Die Varianten des ios Developer Program.... 294 9.1.2 Das erweiterte ios Dev Center............. 296 9.2 Installation auf einem Endgerät................... 298 9.2.1 Das Team definieren..................... 298 9.2.2 Das Entwicklungszertifikat erstellen......... 300 9.2.3 Zertifikat von Apple..................... 306 9.2.4 Anmeldung der Geräte, auf denen getestet werden soll............................ 307 9.2.5 Die App ID erstellen..................... 311 9.2.6 Das Provisioning Profile erzeugen........... 314 9.2.7 Auf dem Endgerät über Xcode installieren.... 316 9.3 Distribution der Anwendung..................... 319 9.4 Erzeugung des Development Provisioning Profile über einen Assistenten.......................... 325 9.5 Erzeugung des Development Provisioning Profile über den Organizer............................ 329 9.6 Zusammenfassung............................. 330

xii Inhaltsverzeichnis Anhang 331 A Einführung in die Programmiersprache Objective-C 333 A.1 Grundlagen................................... 333 A.2 Strukturierung des Quellcodes.................... 335 A.3 Klassen...................................... 336 A.4 Erzeugung von Instanzen........................ 340 A.5 Speicherverwaltung............................. 342 A.6 Kategorien................................... 346 A.7 Properties.................................... 348 A.8 Protocols..................................... 353 A.9 Fast Enumeration mittels for...in................... 357 A.10 Behandlung von Exceptions...................... 357 A.11 Zusammenfassung............................. 359 B Quelltext der Beispiele 361 B.1 Quelltext fast.calc.............................. 361 B.2 Quelltext my.address........................... 365 B.3 Quelltext web.address........................... 368 B.4 Quelltext Einkaufsliste.......................... 374 B.5 Quelltext CDEinkaufsliste........................ 382 B.6 Quelltext MapKitSample........................ 391 B.7 Quelltext i.rss................................ 394 B.8 Quelltext just.do............................... 404 C Glossar 427 D Literatur und Weblinks 435 D.1 Literatur..................................... 435 D.2 Weblinks..................................... 435 Index 439