Socialbit Wissensdatenbank

Fach- und Supportwissen für Entwickler, Designer und Kunden

Erklärung iOS-App-Ad-Hoc-Distribution

Apple hat das Testen und Distribuieren durch die Einführung einer verhältnismäßig einfachen Zertifikat-Infrastruktur gut gelöst. Hat man sich einmal eingelesen, ist die Einrichtung von Apple-Account und Apps ein Kinderspiel. Für die initiale Einrichtung eines neue App-Store-Accounts sind folgende Schritte notwendig:

  • Produktions-Zertifikat einrichten
  • Entwicklungs-Zertifikat einrichten
  • Geräte registrieren
  • Apps anlegen
  • Entwicklungs- und Produktions-Profile einrichten
  • Xcode-Projekt anpassen
  • App kompilieren und archivieren
  • Verteilung der App mit Testflight

Zertifikat-Anfragen (Private-Public-Key-Pair) erstellen

Für das Einrichten des Produktions- sowie Entwicklungs-Zertifikates wird jeweils ein sogenanntes "Private-Public-Key-Pair" benötigt. Um diese Daten zu generieren muss die Schlüsselbund-App (Englisch: Keychain-App) geöffnet werden. Am besten wird für den Apple-Account aus Gründen der besseren Ordnung ein neuer Schlüsselbund erstellt. Ist die App geöffnet muss über das Menü "Zertifikatassistent" und anschließend "Zertifikat einer Zertifizierungsinstanz anfordern..." ausgewählt werden.


Der Menüpunkt um den Dialog zu erreichen


Im darauf folgenden Menü muss E-Mail-Adresse sowie ein Name angegeben werden. Es empfiehlt sich zur besseren Identifikation im Nachhinein hinter dem Namen noch den Namen des Kunden oder einen anderen Hinweis zu platzieren. Außerdem soll das Zertifikat auf der Festplatte gespeichert werden und nicht per E-Mail verschickt werden.


Nach dem Klick auf "Weiter" erscheint ein Feld für die Eingabe des Dateinames. Wir löschen der Einfachheit her den Namen und speichern die Datei einfach als "1" ab. Dieser Schritt muss jetzt wiederholt werden um ein zweites Zertifikat mit dem Dateinamen "2" zu erzeugen..


Distributions-Zertifikat erstellen

Das Distributions-Zertifikat wird primär benötigt, um Apps für den App-Store und für Ad-Hoc-Distribution zu zertifizieren. Nach dem Login im Apple-Entwickler-Portal, dem Klick auf "Certificates, Identifiers & Profiles" gefolgt von dem Klick auf "Production" im Bereich "Certificates" sollte ein "Getting-Stared"-Screen erscheinen. Im oberen rechten Eck ist zudem ein "+"-Button zum Erstellen des Zertifkates.


Der Menüpunkt um ein neues Zertifikat zu erstellen:


Die Frage nach dem Zertifikat-Typ muss in diesem Fall mit "App Store and Ad Hoc" beantwortet werden.


Im nächsten Schritt wird unsere "Zertifikat Anfrage" benötigt. Hier muss die zuvor erstellte Datei mit dem Namen "1" ausgewählt werden.


Nach dem Klick auf "Generieren" sollte das Zertifikat sofort zur Verfügung stehen. Nach dem Download einfach auf die ".cer"-Datei klicken und sie sollte direkt im Schlüsselbund erscheinen. Wichtig hierbei: Das Zertifikat wird im Zweifel in den gerade aktiven bzw. geöffneten Schlüsselbund importiert.


Development-Zertifikat erstellen

Das Development-Zertifikat wird benötigt um Apps auf Geräten zu testen sowie In-App-Käufe und Push-Notifications auszuführen. Der Prozess zur Erstellung des Zertifikates ist identisch mit der des Distributions-Zertifikates, mit dem Unterschied, dass "iOS App Development" als Zertifikat-Typ ausgewählt werden muss und die zuvor erstellte Datei "2" benutzt werden muss.


Wir möchten kein Push-Notification-Zertifiat:


Zwischenstand

Wenn beide Zertifikate erstellt, heruntergeladen und importiert werden sollten sie im Schlüsselbund auftauchen.


So sollte das Zertifikat nun im Schlüsselbund aussehen:


Geräte registrieren

Alle Test- und Kundengeräte müssen im Entwickler-Portal registriert sein. Pro Jahr können bis zu 100 Geräte registriert werden. Es ist wichtig diese Liste zu pflegen, da die Liste nur ein Mal pro Jahr gelöscht werden kann. Sind 100 Geräte erreicht ist es sehr schwer, weitere Slots zu bekommen. Wir haben nach einem harten Kampf beispielsweise gnädige 10 Slots extra bekommen. Die benötigte UDID kann im XCode-Organizer gefunden werden.


So könnte Ihre Geräte-Übersicht aussehen:


Apps anlegen

Jede App muss im Entwickler-Portal registriert sein. Über den Menüpunkt "App IDs" in der Gruppe "Identifiers" können Apps verwaltet werden. Zum Beginn genügt eine App-Beschreibung (nur intern) sowie eine Bundle-ID.


Die Bundle-ID besteht üblicherweise aus "land.hersteller.app"


Entwicklungs- und Produktions-Profile einrichten

Um eine App zu distributieren müssen jetzt noch die entsprechenden Distributions-Profile angelegt werden. Über den Menüpunkt "Distribution" in der Gruppe "Provisioning Profiles" können alle Profile verwaltet werden. Abgelaufene Profile werden als "Expired" angezeigt und können im Zweifel erneuert werden. Über einen Klick auf den "+"-Button im oberen rechten Eck können neue Profile erstellt werden.


So erstellen Sie ein neues Distribution-Zertifikat:


Als Profil-Typ muss in diesem Fall "Ad Hoc" ausgewählt werden. Genauso können aber auch App-Store- sowie Entwicklungs-Profile erstellt werden.


Im nächsten Schritt muss die App-Id ausgewählt werden, für die ein neues Profil erstellt werden soll.


Anschließend muss das Zertifikat ausgewählt werden, mit dem das neue Profil zertifiziert werden soll. Hier sollte im Regelfall exakt ein Zertifikat zur Auswahl stehen.


In der auf die Zertifikat-Auswahl folgenden Geräte-Auswahl müssen alle Geräte ausgewählt werden, die berechtigt sein sollen, die spätere App zu benutzen. Achtung: Spätere Änderungen an dieser Liste greifen nicht in Echtzeit und erfordern das erneute Erstellen bzw. Aktualisieren dieses Profiles.


Als Name für das Profil empfiehlt sich ein Format wie "AppName ProfilKürzel". In unserem Beispiel steht "AHDDP" also für "Ad Hoc Distribution Provisioning Profile". Nachdem der Name eingegeben wurde genügt ein Klick auf "Generate" um das Profil zu erstellen und herunterzuladen. Ein Klick auf das heruntergeladene Profil importiert dieses direkt in Xcode.


Xcode-Projekt anpassen

Damit Xcode die App auch mit den richtigen Zertifikaten und Profilen kompiliert und zertifiziert genügt es noch einigen kleinen Anpassungen. Grundsätzlich empfiehlt es sich neben "Debug" und "Release" noch "AdHoc" und "App Store" als Konfigurationen im Projekt anzulegen. Wichtig: Eventuell zusätzlich vorhandene externe Projekte müssen Konfigurationen mit dem selben Namen haben damit der Code erfolgreich kompiliert werden kann.


Im Regelfall hat ein Xcode-Projekt mehrere Konfigurationen


Anschließend muss im App-Target im "Build Settings"-Tab in der Gruppe "Code Signing Identity" das entsprechende Profil ausgewählt werden. Im Regelfall hat Xcode hier schon automatisch eine sinnvolle Auswahl getroffen. Dank der zuvor angelegten Konfigurationen können alle Profile korrekt verlinkt werden und diese Einstellung muss quasi nicht mehr verändert werden.


App kompilieren und archivieren

Um die App zu archivieren genügt ein Klick auf "Product -> Archive". Beim ersten Mal sollte hierbei die Alt-Taste gedrückt werden um die "Archiveren"-Aktion zu verwalten. Als "Build Configuration" muss hier ebenfalls "AdHoc" ausgewählt sein, damit das zuvor eingestellte Profil greift. Ist alles eingestellt genügt ein Klick auf "Archive" um das finale App-Paket zu schnüren.


So "archivieren" Sie eine App:


Verteilung der App mit Testflight

Lösungen wie Testflight erkennen den Archivierungsprozess und bieten an, die Distribution ab diesen Punkt fortzusetzen, um eine bequeme Verteilung der App an Tester zu ermöglichen. Der Prozess wird entweder durch einen Klick auf das direkt nach der Archivierung auftauchende "Upload"-Feld oder durch das Menü der Testflight-App gestartet. Im ersten Schritt muss erneut das AdHoc-Profil ausgewählt werden.


Das passende Profil und Zertifikat ist meistens schon vorausgewählt:


Der das darauf folgende "Release Notes"-Textfeld kann mit Änderungen oder sonstigen Informationen gefüllt werden. Ist alles gefüllt kann, ohne auf den Upload zu warten, auf "Next" gedrückt werden. Auf dem folgenden und letzten Schritt müssen alle Personen, die erlaubt sind, die App zu testen, ausgewählt werden. Hierbei gilt: Wenn eine Person ausgewählt werden kann, ist von Seite der Zertifikate und Profile alles in Ordnung. Ist die Person grau, ist keines der für die Person registrierten Geräte im Provisioning-Profile der App genannt. Sobald der Upload abgeschlossen ist kann der Prozess durch den Klick auf "Submit" abgeschlossen werden. Die Tester werden nun automatisch über die neue Testversion informiert.



Like it!
Wir freuen uns über jeden Share , Like , Tweet