How to: Erstellen des Apple Developer Zertifikats und dessen Provisioning Profile

Für Crossplatform Developer ist dieser Schritt irgendwann unvermeidlich – Es soll auf iOS Geräte deployed werden, wofür es nativen App Code bedarf. Dabei ist es völlig egal, aus welcher Technologie (Xamarin, Cordova, etc.) die Sourcen der App entspringen – der Build-Prozess erwartet immer ein gültiges App Developer Zertifikat und ein sogenanntes Provisioning Profile. Doch wo sollen diese Bestandteile herkommen? Diese kleine Anleitung soll langes Suchen ersparen.

Für das Bauen von nativen iOS-Apps sind 3 „bürokratische“ Teile erforderlich:

  • Apple Developer Account
  • Gültige iOS Subscription, die dem Apple Developer Account zugewiesen ist
  • Provisioning Profile

Um eine iOS App zu bauen, deployen und in den Store stellen zu können, braucht es eine iOS Subscription. Diese Subscription erlaubt es für 99 Dollar ein Jahr lang Apps zu erstellen und zu publizieren. Ist das Jahr vorbei, muss mit einer erneuten Zahlung die Subscription verlängert werden. Aus dem Apple Developer Account und der gültigen iOS Subscription setzt sich dann ein Zertifikat zusammen. Dieses läuft an dem Tag ab, an dem der einjährige Gültigkeitszeitraum für eine iOS Subscription ausläuft. Das Provisioning Profile ist die Brücke zwischen dem Apple Developer Account Zertifikat und den verwendeten Geräten, auf denen zu Testzwecken deployed werden soll. In diesem File werden alle Geräte verwaltet und registriert. Maximal 100 Geräte parallel sind hier zulässig.

Um nun an diese Informationen zu gelangen und sie vor allem auch exportieren zu können, ist die Apple Developer Homepage zu besuchen, und sich dort mit dem Apple Developer Account im „Member Center“ anzumelden.

1

Unter dem Punkt iOS Apps -> „Certifcates, Identifiers & Profiles“ finden wir die Verwaltung für die Zertifikate, Aliase, Geräte und die Provisioning Profiles. Bei der Wahl von „Certificates“ werden die bestehenden Zertifikate, soweit vorhanden, angezeigt.

2

Bei der genauen Betrachtung der beiden bestehenden Zertifikate im oberen Beispiel fällt auf, dass hier von unterschiedlichen Typen die Rede ist. Apple unterscheidet bei der Erstellung von Zertifikaten, ob es für die Entwicklungszeit (also Build und Test-Deployment) oder für die finale Produktion genutzt werden soll. Mit dem „Plus-Knopf“ in der oberen rechten Ecke des Content-Bereichs lässt sich ein neues Zertifikat erstellen (sofern eine gültige iOS Subscription erstellt und bezahlt wurde).

3

Im nächsten Step wird genau erläutert, wie das benötigte CSR File manuell auf einem Mac-System erstellt werden kann.

4

 

Wer über keinen Mac verfügt, kann sich auch auf einem Windows-System eine CSR-Datei erstellen. Dazu muss allerdings eine Hilfsinstanz wie OpenSSL installiert werden. Die Version für Windows Systeme gibt es unter http://www.openssl.org/related/binaries.html.

Nach der Installation kann nun über die CMD-Shell von Windows eine CSR-Datei erstellt werden. Dafür ist die CMD zu öffnen, und mit dem CD-Befehl in den Pfad der OpenSSL Installation zu wechseln. Danach ist im ersten Schritt der private Key zu erstellen:
openssl genrsa -out mykey.key 2048

Danach ist der private Key mit unseren persönlichen Daten anzureichern:
openssl req -new -key mykey.key -out CertificateSigningRequest.certSigningRequest -subj "/emailAddress=yourAddress@example.com, CN=John Doe, C=US"

Die Felder für Mailadresse, Name und Land müssen noch entsprechend angepasst werden. Im nächsten und letzten Schritt der Zertifikatserstellung im Apple Developer Portal werden diese frisch erstellten Datei hochgeladen.

5

Mit dem Drücken des Generate-Knopfes wird das Zertifikat erstellt und ist mit einer zugewiesenen Gültigkeitsdauer im Portal zu finden. Die Gültigkeitsdauer richtet sich nach der iOS Subscription. Ist ein gültiges Zertifikat erstellt, kann es aus der Übersicht ausgewählt und per Knopfdruck auf den lokalen Rechner geladen werden.

Anlegen der AppID

Um ein Provisioning Profile anlegen zu können, verlangt Apple eine AppID, die zugewiesen werden muss. So können unterschiedliche Testgeräte für unterschiedliche Apps zugewiesen werden. Arbeitet man mit XCode, so wird die AppID hier automatisch angelegt, sobald man ein neues App-Projekt startet. Für alle die ohne XCode arbeiten und zum Beispiel einen Cloud-Service für das Bauen der Apps verwenden, können hier das Portal nutzen und die AppID händisch anlegen.

Dazu wird ein Name für die gewünschte(n) App(s) benötigt. Hier ist es ratsam, sich eine AppID-Wildcard generieren zu lassen, mit der mehrere Apps bestückt werden können. Über den Plus-Knopf wird der Entwickler zu diesen Angaben befragt.

CreateAppID

 

Registrieren der Devices für Test

Bevor wir die verfügbaren Geräte nun dem Developer Account über das Provisioning Profile zuweisen können, müssen diese im Portal unter „Devices“ angegeben werden.

6

Um die Geräte hier registrieren zu können, bedarf es einen Namen (frei wählbar) und die UDID (Unique Device ID. Infos zur „wirklich intuitiven“ Handhabung von UDIDs gibt’s hier. Ist die UDID ausgelesen, kann über den Plus-Knopf ein neues Device hinzugefügt werden.

7

Neben der Möglichkeit, einzelne Geräte mit den beiden Parametern anzulegen, ist es auch möglich, mehrere Geräte auf einmal zu registrieren. Dabei werden unterschiedliche Wege unterstützt, die mit Beispielen unter „Download sample files“ gezeigt werden. Grundsätzlich zugelassen sind für die Bestückung Textfiles und XML-Files im angeforderten Format. Sind alle Testgeräte registriert, auf denen Apps installiert werden sollen, kann das Provisioning Profile angelegt werden.

Provisioning Profile einrichten

Das Profile vereint nun das Developer Zertifikat mit der AppID (Wildcard) und den registrierten Testgeräten.

8

Wie in der oben dargestellten der Provisioning Profiles zu erkennen, ist es mit den Typen ähnlich wie bei den Zertifikaten, denn für Development und Deployment können/müssen unterschiedliche Profile angelegt werden. Das Anlegen erfolgt wieder über den bewährten Plus-Knopf in der oberen rechten Ecke.

9

Nach der Auswahl der Art des Provisioning Profiles wird nach der App ID gefragt. Hier wird die App ID ausgewählt, welche per XCode oder im Portal angelegt worden ist.

10

Im nächsten Schritt muss das erstellte Zertifikat ausgewählt werden, dem die App ID und Testgeräte zugewiesen werden sollen.

11

Danach können die benötigten Testgeräte aus der Liste ausgewählt werden. Sind nicht gezielte Geräte erwünscht, sondern einfach alle verfügbaren, können diese ganz oben mit „Select All“ markiert und berücksichtigt werden.

12

Nachdem die Geräte ausgewählt wurden, muss nur noch ein Profilename vergeben und als Datei auf den lokalen Rechner geladen werden.

Mit den Dateien für Zertifikat und das zuletzt generierte Provisioning Profile können nun XCode, sowie Cloud-Build-Services wie PhoneGap bestückt werden. Für ältere XCode-Versionen müssen die Dateien nur per Drag&Drop in die IDE eingefügt werden. In der aktuellen Version sind die online-Bestände aus dem Portal selbst verwaltet. Hier muss nicht extra etwas importiert werden.

Leave a reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>