iOS Entwicklung von 0 auf 100 Von Philipp Koulen Lehr- und Forschungsgebiet Ingenieurhydrologie Einführung Ziel: eigene App in den App Store → die verschiedenen Apple Developer Programme → das „Member Center“ → die Entwicklungsumgebung Xcode → die erste eigenen App → iTunes Connect Die Apple Developer Programme MFI Program Mac Developer Program Safari Developer Program iOS Developer University Program iOS Enterprise Program iOS Developer Program MFI-/ Safari- /Mac Developer Program MFI: technischer Zubehör für iOS Geräte Safari: Safari Erweiterungen Mac: Mac Apps, Verbreitung im App Store → 30% der Einnahmen gehen an Apple iOS Developer University Program Professoren / Dozenten und Mitarbeiter von Hochschulen können teilnehmen Zugang zu Ressourcen Entwickeln und Testen von Apps Keine Verbreitung über den App Store iOS Enterprise Program Firma muss eine DUNS Nummer (Data Universal Numbering System) haben Entwicklung von Apps nur für Mitarbeiter (In House Apps) Preis: 299$ / Jahr iOS Developer Program Zugriff auf alle Ressourcen Verbreitung von Apps im App Store Preis: 99$ / Jahr Das Member Center iOS- /Mac- /Safari Developer Center Entwicklungsumgebung iOS Developer Library Getting Started -Texte und -Videos Guides Beispielcode App Store Resource Center Informationen die vor dem einreichen einer App an Apple beachtet werden müssen Apple Richtlinien die jede App beachten muss Informationen über den Approval Process Apple Developer Forum nur für Teilnehmer des iOS Enterprise- / Mac-/ oder iOS Developer Programs technische Fragen können von anderen Entwicklern oder Apple Fachleuten diskutiert werden Technischer Support nur für Teilnehmer des iOS Enterprise- / Mac-/ und iOS Developer Programs pro Jahr zwei Fragen über spezielle Algorithmen, konkrete Fehlerbehebungen oder Design zwei weitere Fragen: 99$, fünf weitere 279$ iOS Provisioning Portal Zertifikate „WWDR“ (Worldwide Developer Relations intermediate Certificate) Development- /Distribution Zertifikat wird zur Überprüfung der Gültigkeit anderer Zertifikate benötig → Development- /Distribution Zertzifikat Registrierte Geräte pro Account bis zu 100 Geräte Hinzufügen mit Namen und Device ID → Xcode → Window → Organizer App ID's Besteht aus App ID Prefix & App ID Suffix App ID Prefix → einzigartig, zehn Zeichen lang, wird über Xcode erzeugt App ID Suffix → einzigartig, frei wählbar Beispiel: „MyHelloWorld“, Firma: LFI → MB844ANK5L.com.LFI.MyHelloWorld Development- /Distribution Profile Zusammensetzung von Development/Distribution Zertifikat und App ID Development Zertifikat muss auf Testgeräten installiert werden um App installieren zu können Distribution Zertifikat für Verbreitung im App Store Xcode Testprojekt: MyHelloWorld AppDelegate Verwaltet Lebenszyklus einer App Verwaltung externer Events: Anrufe, Push Notifications, öffnen anderer Apps... Beispiel Delegate Methoden: - (void)applicationDidFinishLaunching:(UIApplication *)application - (void)applicationDidEnterBackground:(UIApplication *)application - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url - (void)applicationDidReceiveMemoryWarning:(UIApplication *)application .xib - Dateien Wird über Interface Builder erstellt Standardmäßig ein UIView Objekt Archiv von serialisierten Objekten ViewController können mit solchen .xib Dateien initialisiert werden Vorteil: übersichtlicherer Code, schnellere Entwicklung ViewController Verwaltung der Inhalte von Views → Beispiel View wird geladen: - (void)viewWillAppear:(BOOL)animated{} - (void)viewDidAppear:(BOOL)animated{} → Beispiel Gerät dreht sich: -(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{ return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown); } Supporting Files MyHelloWorld-Info.plist InfoPlist.strings Main.m MyHelloWorld.Prefix.pch Localizable.strings MyHelloWorld mit Interface Builder MyHelloWorld ohne IB ViewController.h überschreiben ViewController.m überschreiben Testen auf einem iOS Gerät Window → Organizer → Devices → angeschlossenes Gerät auswählen → Add to Portal Wahlweise auf Gerät oder Simulator testen iTunes Connect Apps einreichen / verwalten Verwaltung der Teammitglieder des Entwickler Accounts Einsicht in Verkaufszahlen / Finanzberichte Support für Fragen bezüglich des App Stores und eigener Apps Eine App einreichen App Information (Name, Bundle ID...) Preis, Verfügbarkeit (ab wann, welcher App Store...) Metadata (Beschreibung, Kategorie, Review Notes, Versionsnr. …) App Icons, Screenshots → App Status: Waiting for Binary Binary vorbereiten Archivieren und Abschicken Vielen Dank!