Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Geleitwort
Vorwort
1 Hello iPhone
2 Grundlagen
3 Views und Viewcontroller
4 Alles unter Kontrolle
5 Daten, Tabellen und Controller
6 Models, Layer, Animationen
7 Programmieren, aber sicher
8 Datenserialisierung und Internetzugriff
9 Jahrmarkt der Nützlichkeiten
A Sicherer Entwicklungszyklus
Stichwort

Download:
- ZIP, ca. 49,9 MB
Buch bestellen
Ihre Meinung?

Spacer
Apps programmieren für iPhone und iPad von Klaus M. Rodewig, Clemens Wagner
Das umfassende Handbuch
Buch: Apps programmieren für iPhone und iPad

Apps programmieren für iPhone und iPad
Galileo Computing
1000 S., geb., mit DVD
39,90 Euro, ISBN 978-3-8362-1915-0
Pfeil 9 Jahrmarkt der Nützlichkeiten
Pfeil 9.1 Die Struktur von Xcode 4
Pfeil 9.1.1 Das Hauptfenster und die Werkzeugleiste
Pfeil 9.1.2 Die Navigatorspalte
Pfeil 9.1.3 Der Utilitybereich
Pfeil 9.1.4 Der Editor
Pfeil 9.1.5 Autovervollständigung und Codeschnipsel
Pfeil 9.1.6 Tastaturkurzbefehle
Pfeil 9.1.7 Tabs und Fenster
Pfeil 9.1.8 Liebling, ich habe das SDK geschrumpft
Pfeil 9.1.9 Snapshots
Pfeil 9.2 Refactoring
Pfeil 9.2.1 Refactorings in Xcode
Pfeil 9.2.2 Methoden auslagern
Pfeil 9.2.3 Oberklassen erzeugen und Methoden verschieben
Pfeil 9.2.4 Attribute kapseln und verschieben
Pfeil 9.3 Der Organizer
Pfeil 9.3.1 Die Geräteverwaltung
Pfeil 9.3.2 Projektverwaltung
Pfeil 9.3.3 Archive und die Archivverwaltung
Pfeil 9.3.4 Dokumentation
Pfeil 9.4 Das Buildsystem
Pfeil 9.4.1 Workspaces, Projekte und Targets
Pfeil 9.4.2 Klassen in Bibliotheken auslagern
Pfeil 9.4.3 Bibliotheken wiederverwenden
Pfeil 9.4.4 Konfigurationen
Pfeil 9.4.5 Targets
Pfeil 9.4.6 Schemata
Pfeil 9.5 Ad-Hoc-Distributionen
Pfeil 9.5.1 Geräteregistrierung
Pfeil 9.5.2 Installation über das iPhone-Konfigurationsprogramm
Pfeil 9.5.3 Ad-Hoc-Distributionen über einen Webserver
Pfeil 9.6 Versionsverwaltung mit Git
Pfeil 9.6.1 Lokale Git-Repositorys
Pfeil 9.6.2 Arbeiten mit verteilten Git-Repositorys
Pfeil 9.6.3 Git-Integration in Xcode
Pfeil 9.6.4 Einbindung existierender Git-Repositorys
Pfeil 9.6.5 GitX
Pfeil 9.6.6 SourceTree
Pfeil 9.6.7 Das Kommandozeilenprogramm von Git
Pfeil 9.6.8 Der eigene Git-Server

Galileo Computing - Zum Seitenanfang

9.3 Der OrganizerZur nächsten Überschrift

Der Organizer ist die zentrale Schnittstelle für die Verwaltung von Geräten, Projekten, Repositorys sowie für die Xcode- und API-Dokumentation. Den Organizer rufen Sie in Xcode über den Menüpunkt WindowOrganizer, die Tastenkombination ª + cmd + 2 oder über den Button in der Werkzeugleiste (siehe Abbildung 9.3) auf. Der Organizer besitzt eine Reiternavigation, über die Sie auf die einzelnen Bereiche zugreifen können.


Galileo Computing - Zum Seitenanfang

9.3.1 Die GeräteverwaltungZur nächsten ÜberschriftZur vorigen Überschrift

Die Geräteverwaltung (siehe Abbildung 9.32), die Sie unter dem Reiter Devices im Organizer finden, ermöglicht es Ihnen, Ihre Geräte für die Entwicklung einzurichten und zu konfigurieren. Der Organizer ruft – einen kostenpflichtigen Zugang für das iPhone Developer Program vorausgesetzt – alle für die Einrichtung notwendigen Daten selbstständig aus dem Entwicklerportal bei Apple ab und installiert die notwendigen Zertifikate und Provisionsprofile auf dem Endgerät. Die notwendigen Schritte dafür hat bereits das erste Kapitel erklärt.

Abbildung

Abbildung 9.32 Die Geräteverwaltung in Xcode

Sie können über den Organizer nicht nur Geräte einrichten, sondern auch auf die Daten dieser Geräte zugreifen. Das ist bei der Entwicklung und insbesondere beim Debugging häufig sehr hilfreich. Zu jedem Gerät finden Sie mehrere Unterpunkte. Unter Provisioning Profiles finden Sie alle Profile, die Sie auf dem Gerät explizit oder implizit installiert haben. Abgelaufene Profile entfernt das iOS nicht automatisch, und deshalb sollten Sie sie über diesen Dialog regelmäßig von Ihren Geräten löschen.

Alte Profile

Alte Profile haben keinen Nutzen mehr für die Entwicklung. Sie können abgelaufene Profile unbesorgt von Ihren Geräten löschen, denn diese Profile können Ihnen im Zweifelsfall viel Ärger bereiten.

Unter dem Punkt Applications (siehe Abbildung 9.33) finden Sie alle Apps, die Sie auf dem Gerät installiert haben. Wenn Sie eine App auswählen, können Sie sich deren Sandbox ansehen. Die Sandbox ist das applikationsspezifische Verzeichnis der App auf dem Gerät. Dieses Verzeichnis enthält das App-Bundle sowie alle von der App erzeugten Dateien und Verzeichnisse. Wenn Sie beispielsweise das Fototagebuch auf Ihrem iPhone installiert und ausgeführt haben, finden Sie in der Sandbox das Verzeichnis Documents und darin die Datei Games.sqlite. Diese Datei enthält die SQLite-Datenbank mit den Daten des Fototagebuchs.

Abbildung

Abbildung 9.33 Zugriff auf die Sandbox einer App

Unter Console finden Sie die Konsolenausgaben des Geräts. Dort sehen Sie die Log-Ausgaben aller Frameworks und Applikationen auf dem Gerät. Sie können über die Funktion NSLog auch eigene Einträge in die Konsole schreiben.

Unter Device Logs finden Sie alle Crashreports oder auch Fehlerberichte der Apps. Ein Crashreport enthält Informationen über eine App zum Zeitpunkt ihres Absturzes. Über den Punkt Screenshots können Sie Bildschirmfotos von dem Gerät anfertigen, ohne den Bildschirm berühren oder die Tasten des Geräts drücken zu müssen.

Crashreports von fremden Geräten

Über iTunes Connect [http://itunesconnect.apple.com] können Sie die Fehlerberichte Ihrer Apps herunterladen, die auf den Geräten von anderen Nutzern aufgetreten sind. Das geht natürlich nur mit Ihren Apps im iTunes Store, und der jeweilige Nutzer muss einer Übertragung des Fehlerberichts an Apple zugestimmt haben. Wenn Sie einen solchen Fehlerbericht auf Device Logs unter Library ziehen, können Sie ihn sich ansehen. Dabei löst Xcode auch die Speicheradressen zu den Symbolnamen auf, wenn Sie das Archiv des iTunes-Uploads der App aufgehoben haben (siehe auch Abschnitt 9.3.3, »Archive und die Archivverwaltung«).


Galileo Computing - Zum Seitenanfang

9.3.2 ProjektverwaltungZur nächsten ÜberschriftZur vorigen Überschrift

Unter Projects finden Sie die Projektverwaltung des Organizers, die auf der linken Seite die Projekte enthält, die Sie bisher geöffnet haben (siehe Abbildung 9.34). Dabei zeigt der blau-graue Punkt neben einem Projekt an, dass Sie es geöffnet haben.

Abbildung

Abbildung 9.34 Die Projektverwaltung

Der obere Bereich zeigt Ihnen den Pfad der Projektdatei unter Location an. Unter Derived Data legt Xcode alle Dateien ab, die die Entwicklungsumgebung während eines Buildprozesses erzeugt. Unter Snapshots finden Sie das Verzeichnis, das alle Snapshots des Projekts enthält. Neben der Projektdatei beziehungsweise den Verzeichnissen befindet sich jeweils ein weißer Pfeil in einem grauen Kreis. Wenn Sie darauf klicken, öffnet Xcode ein entsprechendes Dateifenster im Finder. Über die Delete-Buttons können Sie das entsprechende Verzeichnis löschen.

Der untere Bereich des Dialogs listet alle Snapshots des Projekts auf. Der Button User Created Snopshots schränkt die Anzeige auf die manuell erzeugten Snapshots ein (siehe Abschnitt 9.1.9) und blendet die automatisch erzeugten aus. Über den Button Export Snapshot am unteren Fensterrand können Sie Snapshots als vollständige Projekte ins Dateisystem exportieren, ohne die aktuelle Projektversion überschreiben zu müssen.


Galileo Computing - Zum Seitenanfang

9.3.3 Archive und die ArchivverwaltungZur nächsten ÜberschriftZur vorigen Überschrift

Wenn Sie Ihre Apps an Dritte weitergeben möchten, vertreiben Sie sie entweder über den iTunes Store oder über eine Ad-Hoc- beziehungsweise In-House-Distribution. Dafür müssen Sie zunächst von Ihrer App ein Archiv erstellen. Das ist ein Paket, das eine App mit dem übersetzten Code und allen Ressourcen enthält. Außerdem enthält es noch Metadaten und die Debugsymbole des Programms.

Anhand der Debugsymbole kann Xcode in einem Crashreport aus den Speicheradressen wieder Klassen-, Methoden- und Funktionsnamen ermitteln, was Ihnen die Fehlersuche erleichtert. Einen Crashreport oder auch Fehlerbericht erstellt iOS nach dem Absturz einer App. Über die Projektverwaltung können Sie auch Crashreports importieren und sich so die Fehlerberichte von Geräten ansehen, auf die Sie keinen direkten Zugriff haben.

Archive aufheben

Sie können sich auch ohne das entsprechende Archiv Fehlerberichte in Xcode oder in einem Texteditor ansehen, da sie einfache Textdateien sind. Allerdings fehlen Ihnen dann die Symbolinformationen Ihrer Quelltexte. Sie sehen stattdessen nur Zahlen. Heben Sie also möglichst immer die Archive auf, mit denen Sie eine erfolgreiche Distribution durchgeführt haben.

Über den Menüpunkt ProductArchive können Sie ein neues Archiv anlegen, wenn Sie in der Schemaauswahl in der Werkzeugleiste ein Gerät oder iOS Device ausgewählt haben. Nach der Erstellung des Archivs öffnet Xcode die Archivverwaltung im Organizer und selektiert dabei das erstellte Archiv (siehe Abbildung 9.35). Die Leiste auf der linken Seite enthält eine Liste aller Applikationen, von denen Sie Archive besitzen.

Die Detailansicht auf der rechten Seite enthält unten eine Liste der einzelnen Archive zu der ausgewählten App. Im oberen Bereich zeigt sie Informationen zu dem ausgewählten Archiv an. Dort befinden sich außerdem Buttons für die Verteilung Ihrer App.

Abbildung

Abbildung 9.35 Die Archivverwaltung in Xcode

IPA-Dateien

IPA-Dateien enthalten alle notwendigen Dateien, um eine App auf einem Gerät installieren zu können. Sie besitzen zwar die Dateiendung .ipa, haben indes das Dateiformat von ZIP-Archiven. Sie können sich also den Inhalt einer IPA-Datei über ein ZIP-Dekomprimierungsprogramm (z. B. unzip) ansehen, oder Sie ändern die Dateiendung in .zip und können die Datei bequem über den Finder öffnen.

Der Button Distribute... dient zum Upload von Apps in den iTunes Store oder zur Verteilung über Ad-Hoc- und In-House-Distributionen. Wenn Sie eine App in den Store laden möchten, müssen Sie dafür zunächst in iTunes Connect [http://itunesconnect.apple.com] eine entsprechende Applikation anlegen. Die Zuordnung Ihrer programmierten App zu der Applikation geschieht dort über den Bundle Identifier. Achten Sie bei der Einrichtung also darauf, dass Sie hier den gleichen Wert wie in Ihrer App eintragen.

Dabei erfolgt die Konfiguration schrittweise über einen bedienungsfreundlichen Assistenten. Der Einrichtungsprozess endet mit dem Drücken des Buttons Ready to Upload Binary. Danach zeigt iTunes Connect den Applikationsstatus Waiting For Upload an. Die Applikation in iTunes Connect muss sich in diesem Zustand befinden, damit Sie die Buttons Validate... und Submit... sinnvoll verwenden können.

Über Validate... können Sie Ihre App vor einem Upload in iTunes Connect überprüfen lassen. Xcode prüft hierbei die Gültigkeit der Codesignatur und anderer Daten der App. Dazu fragt Xcode Sie zuerst nach Ihren Zugangsdaten. Im nächsten Schritt können Sie die Applikation und das Zertifikat für die Signatur Ihrer App auswählen. Sie müssen hier unbedingt das gleiche Distributionszertifikat verwenden, das Sie auch für die Release-Konfiguration in den Build-Settings des Targets eingetragen haben. Nachdem Sie auf den Button Next geklickt haben, sendet Xcode die notwendigen Daten an iTunes Connect, und nach einer kurzen Wartezeit können Sie das Ergebnis der Validierung sehen.

Abbildung

Abbildung 9.36 Auswahl der Distributionsmethode

Der Upload einer App in den App Store erfolgt nach Auswahl der Distributionsmethode (siehe Abbildung 9.36) mit nahezu den gleichen Schritten wie die Validierung. Lediglich die Vorbereitung des Uploads und die Übertragung der Daten dauert bei größeren Apps gegebenenfalls länger, weswegen es immer sinnvoll ist, das Archiv vor dem Upload zu validieren. Auch hier erhalten Sie am Ende des Prozesses eine Meldung, ob der Upload erfolgreich war.

Auf den ARM genommen ...

... kommen Sie sich vielleicht vor, wenn Xcode nach dem Upload Ihrer App die Fehlermeldung

warning: iPhone apps should include an armv6 architecture (current ARCHS = "armv7")

anzeigt. Apple vermisst in Ihrer App den Programmcode für die ARMv6-Prozessorarchitektur, die alle Geräte vor dem iPhone 3GS beziehungsweise dem iPod der dritten Generation besitzen.

Sie können dieses Problem auf zwei Weisen lösen: Sie schränken entweder Ihre App auf Geräte mit ARMv7-Architektur ein, oder Sie weisen Xcode an, auch Code für diesen Befehlssatz zu erzeugen. Für die erste Lösung legen Sie in den Programminformationen den Schlüssel UIRequiredDeviceCapabilities mit dem Wert armv7 an, wie Abbildung 9.37 zeigt. Wenn Ihre App nur auf neueren und schnelleren Prozessoren laufen soll, ist diese Lösung die geeignete Wahl.

Wenn Sie hingegen auch ältere Prozessoren unterstützen möchten, müssen Sie in den Einstellungen die ARMv6-Architektur hinzufügen. Das können Sie in den Build-Settings unter dem Punkt Architectures vornehmen, wenn Sie auf den Wert Standard (armv7) rechts daneben klicken und in dem Pop-up-Menü den Punkt Other... auswählen. In dem Dialog tragen Sie dann die beiden Werte armv6 und armv7 so wie in Abbildung 9.38 ein.

Abbildung

Abbildung 9.37 Einschränkung auf die ARMv7-Prozessorarchitektur

Abbildung

Abbildung 9.38 Hinzufügen der ARMv6-Prozessorarchitektur


Galileo Computing - Zum Seitenanfang

9.3.4 DokumentationZur vorigen Überschrift

Der Organizer enthält auch die Dokumentation für alle APIs und Tools. Sie basiert auf den Dokumenten, die Sie auch über die Entwicklerseiten unter http://developer. apple.com/library/ios einsehen können. Der Organizer bietet jedoch noch zusätzliche Navigationselemente (siehe Abbildung 9.39).

Abbildung

Abbildung 9.39 Dokumentation im Organizer

Dokumentationspakete

Wahrscheinlich sehen Sie beim ersten Öffnen der Dokumentation weniger Pakete als in Abbildung 9.39. Das liegt daran, dass Sie noch nicht alle Pakete geladen haben. Wie das geht, haben Sie ja bereits in Abschnitt 9.1.8 erfahren.

Die Dokumentation verfügt über eine Navigationsspalte 7, deren Inhalt von der darüber liegenden Leiste abhängt. Wenn Sie die Dokumentation durchstöbern 1 möchten, zeigt die Spalte die Dokumentationspakete als aufklappbare Baumansicht an. Über die Freitextsuche 2 können Sie die Einträge durch die Eingabe von Suchbegriffen finden. Die Lesezeichenverwaltung 3 erlaubt Ihnen, Verweise auf für Sie interessante Seiten anzulegen. Dazu rufen Sie den Punkt Add Bookmark for Current Page im Kontextmenü auf, das Sie über einen Rechtsklick in der Seite öffnen.

Mit dem Button Related Files 4 in der Sprungleiste über der Dokumentation können Sie das aktuelle Dokument als PDF öffnen. Über die Pfeile 5 können Sie die Historie der Dokumente durchsuchen. Über den Dokumentenpfad 6 können Sie sehen, wo sich das angezeigte Dokument in der Dokumentation befindet.

Es wäre allerdings sehr unpraktisch, wenn Sie während der Texteingabe für einen Begriff die Dokumentation immer über den Organizer aufrufen müssten. Deswegen hat Apple noch einen Schnellzugang geschaffen. Sie rufen die Schnellhilfe auf, indem Sie bei gedrückter alt-Taste auf einen Text im Editor klicken. Darauf zeigt Xcode eine Beschreibung zu diesem Text an (siehe Abbildung 9.40). Durch einen Klick auf den blauen Text neben Reference gelangen Sie zu der entsprechenden Seite in der Dokumentation. Neben dem Eintrag Declared sehen Sie die Headerdatei, die das angeklickte Symbol deklariert, und ein Klick auf den Dateinamen öffnet die Deklaration in der Datei. Wenn Sie statt der alt- die cmd-Taste drücken, können Sie auch direkt zu der Deklaration springen, ohne die Schnellhilfe zu öffnen.

Abbildung

Abbildung 9.40 Aufruf der Schnellhilfe

Im Laufe der Zeit wächst die Anzahl der Dokumentationspakete immer weiter an. Dadurch finden Sie beim Nachschlagen in der Dokumentation die meisten Einträge mehrmals (siehe Abbildung 9.41), was auf die Dauer etwas stört – ebenso wie die quälend langsame Suche. Hier ist es sinnvoll, veraltete Dokumentationspakete zu de-installieren. Dazu öffnen Sie den Punkt Documentation im Reiter Downloads in den Einstellungen von Xcode. Wenn Sie ein Dokumentationspaket auswählen und die Detailanzeige öffnen (siehe Abbildung 9.20), sehen Sie darin einen Dateipfad zu der Docset-Datei des Pakets. Durch Anklicken des Pfades zeigt Ihnen Xcode die entsprechende Datei im Finder an. Sie können diese Datei einfach löschen oder verschieben, um sie aus dem Hilfesystem von Xcode zu entfernen. Nach der Deinstallation zeigt Xcode wieder einen Install-Button neben dem entsprechenden Eintrag in der Download-Liste an.

Ordnung muss sein

Die Deinstallation veralteter Dokumentationspakete beschleunigt übrigens die Suche in der Dokumentation.

Abbildung

Abbildung 9.41 Suche in der Dokumentation



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.







<< zurück
  Zum Katalog
Zum Katalog: Apps programmieren für iPhone und iPad

Apps programmieren für iPhone und iPad
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Einstieg in Objective-C 2.0 und Cocoa





 Einstieg in
 Objective-C 2.0
 und Cocoa


Zum Katalog: Apps entwickeln für iPhone und iPad - Videotraining






 Apps entwickeln für
 iPhone und iPad -
 Videotraining


Zum Katalog: Apps mit HTML5 und CSS3






 Apps mit HTML5
 und CSS3


Zum Katalog: iPhone- und iPad-Apps entwickeln






 iPhone- und
 iPad-Apps entwickeln


Zum Katalog: Android 4






 Android 4


Zum Katalog: Android-Apps entwickeln - Videotraining






 Android-Apps
 entwickeln -
 Videotraining


Zum Katalog: Windows Store Apps mit XAML und C#






 Windows Store Apps
 mit XAML und C#


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo





Copyright © Galileo Press 2013
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de