9.3 Der Organizer
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 Window • Organizer, die Tastenkombination
+
+
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.
9.3.1 Die Geräteverwaltung

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 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 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«).
9.3.2 Projektverwaltung

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 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.
9.3.3 Archive und die Archivverwaltung

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 Product • Archive 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 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 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 9.37 Einschränkung auf die ARMv7-Prozessorarchitektur
Abbildung 9.38 Hinzufügen der ARMv6-Prozessorarchitektur
9.3.4 Dokumentation
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 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
-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
- die
-Taste drücken, können Sie auch direkt zu der Deklaration springen, ohne die Schnellhilfe
zu öffnen.
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 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.














Jetzt bestellen





