Überblick: iPhone-Entwicklung mit Xcode
Beispielprojekt: Einkaufsliste
Begriffe
- iPhone-Anwendungen werden in
Objective-Centwickelt, ein um Objektorientierung erweiterter C-Dialekt. - Alle System-Bibliotheken, die in Objective-C geschrieben sind, heißen zusammengefasst
Cocoa. - Die Apple-Entwicklungsumgebung für Mac OS X und iPhone heißt
Xcode. - Der GUI-Designer für Mac OS X und iPhone heißt
Interface Builderund erzeugt XIB / NIB-Dateien.
Überblick iPhone Stack / Frameworks
Xcode Überblick
Xcode Organizer
Projektstruktur I
Projektstruktur II
main.m: Haupteintrittspunkt in die Anwendung (erzeugtUIApplication)MainWindow.xib: Grafische Oberfläche der Anwendung (Interface Builder)ShoppingList-Info.plist: Anwendungs-Metadaten, werden zur Laufzeit vonUIApplicationgeladen und spezifizieren u.a. das Haupt-NIBShoppingListAppDelegate.h/.m: DasAppDelegatebehandelt Applikations-Ereignisse, bekommt das UI der Anwendung (UIWindow) gesetzt und initialisiert die Anwendung (applicationDidFinishLaunching)ShoppingList_Prefix.pch:Precompiled Headerzur Beschleunigung des KompiliervorgangsFrameworks: Abhängige BibliothekenProducts: Ergebnisse vonBuild-Targets
Xcode-Ansicht gruppiert Dateien unabhängig vom Dateisystem
iPhone Simulator
- iPhone-Simulator ist ein
Simulator, keinEmulator! - Verhalten der APIs wird weitestgehend analog dem iPhone simuliert
- Insb. Performance (CPU, GPU, Netzwerk) und verfügbarer Speicher entsprechen der des ausführenden Macs
- Auch Verhalten unterscheidet sich teilweise (z.B. unterstützte Videocodecs)
- Empfehlung: Häufig auf dem iPhone/iPod Touch-Gerät mit der Ziel-iPhone-OS-Version testen
Starten der Anwendung
Build > Build(Cmd + B)Build > Build and Run(Cmd + R)Build > Build and Debug(Cmd + Y)Build > Build and Go(Cmd + Enter)
Starten auf dem iPhone: Provisioning Profile
Starten auf dem iPhone I: Zertifikat erstellen
- Im
iPhone Dev Centerhttp://developer.apple.com/iphone/ dasiPhone Provision Portalaufrufen (rechts oben). - Unter
CertificatesdasWWDR intermediate certificateherunterladen. AppleWWDRCA.ceröffnen und in den Schlüsselbund “Anmeldung” übernehmen. Der Schlüsselbund muss der Standard-Schlüsselbund (fett markiert) sein.- Im Portal mit
Request Certificategemäß der Anleitung ein neues Entwickler-Zertifikat beantragen, den erstelltenSigning Requesthochladen und den Request approven. Nach einem Neuladen der Seite das unterschriebene Zertifikat herunterladen und durch Doppelklick im Schlüsselbund installieren.
Starten auf dem iPhone II: Device-IDs
Device-IDdes iPhones aus dem Xcode Organizer kopieren.- Im Portal unter
Devices,Add Devicedas iPhone-Gerät mit der ID hinzufügen.
Starten auf dem iPhone III: App ID
-
Bundle Identifier: Für jede iPhone Anwendung wird imInfo.plistein eindeutiger Bezeichner in umgekehrter Domain-Schreibweise festgelegt (z.B.com.domainname.appname). -
Im Portal muss eine zum
Bundle IdentifierpassendeApp-IDangelegt werden. Eine App ID kann überWildcardsfür mehrere Bundle Identifier gelten. -
Die
App IDsetzt sich zusammen aus:Bundle Seed ID- ein Zufallswert, der im Portal automatisch generiert wird. Anwendungen mit dem gleichen Bundle Seed haben gemeinsamen Zugriff auf ihre geheimen Daten wie den iPhone-Schlüsselbund.Bundle Identifier, für den die App ID gilt (com.domainname.appnameoder Wildcards wiecom.domainname.*oder*)
Starten auf dem iPhone IV: Provisioning Profile
- Im Portal unter
Provisioningein neues Profil mit Verweis auf Zertifikate, App ID und Device-IDs anlegen. - Provisioning-Profile herunterladen und per Doppelklick installieren.
Starten auf dem iPhone V: Xcode
-
iPhone muss einmalig unter
Window > Organizer > Use for Developmentaktiviert werden. -
Auswahl des Provisioning Profiles erfolgt mit
Project > Get Info, standardmäßig wird das erste passende Profil verwendet:
Xcode: Dokumentation
-
Beispielcode:
Help > Developer Documentation > iPhone OS 3.2 Library > Sample Code -
Dokumentation wird automatisch im Hintergrund lokal heruntergeladen, siehe
Xcode Preferences > Documentation:
iPhone OS Versionen (Stand April 2010)
- iPhone OS 3.1.3 ist aktuell für iPhone-Geräte
- iPhone OS 3.2 ist nur für iPads bestimmt
- Der Download
iPhone SDK 3.2enthält neben XCode 3.2 sowohl das 3.1 als auch das 3.2 iPhone SDK, - iPhone OS 4.0 ist aktuell beta, erscheint voraussichtlich im Juni 2010 für iPhone (ab iPhone 3GS und 3. Generation iPhone Touch) und im Herbst 2010 für iPad
- Siehe iPhone OS version history
Weitere Informationen
- Überblick iPhone OS Technologieshttp://developer.apple.com/iphone/library/documentation/Miscellaneous/Conceptual/iPhoneOSTechOverview/iPhoneOSTechnologies/iPhoneOSTechnologies.html
- iPhone Developer Program User Guidehttp://adcdownload.apple.com/iphone/iphone_developer_program_user_guide/iphone_developer_program_user_guide__standard_program_v2.4.pdf

