iOS iPhone Entwicklung in Xcode 4.4 (auch Xcode 5) – Erstellen eines korrekten Provisioning Profiles (Dev & Distri) + Zertifikate

Achtung: Diese Anleitung wurde am 08. August 2012 geschrieben. Sie funktioniert noch! Wer aber eine Verbesserung oder vor allem eine Neuerung hat, der schreibe mir dies! Danke sehr.

Ich machte schon ein paar Tage rum, ehe ich es geschafft habe ein korrektes Provisioning Profile für Development und Distribution im iOS Provisioning Portal hinzubekommen. Inklusive der dazugehörigen Certificates.
Ich dachte immer ich sei eigentlich am Ziel, jedoch brachte mich die Fehlermeldung “A valid signing identity not found” im Xcode Organizer sowohl als auch im Xcode Archiving direkt nahezu dazu, meinen iMac aus dem Fenster zu werfen.

Nun habe ich herausgefunden wie man korrekte Development und Distribution Provisioning Profiles erstellt und die dazugehörigen Zertifikate im Schlüsselbund.

Wenn Ihr die Anleitung genau befolgt, sollte Euch das ab sofort auch möglich sein. In meiner Ausführung gehe ich von grundsätzlichen OS X-Basics aus. So verlange ich beispielsweise in einem Punkt die Schlüsselbundverwaltung zu öffnen. Hier gehe ich davon aus, dass man weiß wie das geht. Diese Schritte werde ich nicht extra erklären.
Schritt für Schritt:

1.) Vorbereitung:
Geht in die Schlüsselbundverwaltung > Schlüsselbunde: “Anmeldung” (links oben im Schlüsselbund) und killt ALLE Zertifikate und ALLE Schlüssel, die irgendwie und irgendwas mit iOS Distribution und Development UND sonst was mit Apple Development zu tun haben. Keine Angst wir erstellen später neue. Die Schlüsselbundverwaltung sollte im Bereich “Anmeldung” (siehe Auswahl links oben) nun also weder in den Zertifikaten noch in den Schlüsseln etwas vom Apple Development-Center stehen haben. Soweit so gut.

Zweiter Schritt der Vorbereitung: Öffnet den Safari auf dem iMac und NUR den Safari… kein FF, kein Chrome, kein Internet Explorer (HAHA!) bitte den SAFARI.
Geht auf Apple Membercenter Login und logt Euch in das “Member Center” ein. Nun gehen wir auf den Punkt iOS Provisioning Portal. Geht auf den Link “Provisioning” und killt im Reiterchen “Development” alle Provisioning Profiles. Wechselt anschliessend auf das Reiterchen “Distribution” und tut das gleiche.
Nun gehen wir auf den Link “Certificates” und machen hinten ein “Revoke” bei Development und das gleiche bei Distribution.
Damit haben wir das Developer-Portal gesäubert. App IDs und Devices haben damit nichts zu tun, die solltet Ihr natürlich schon angelegt haben und haben erstmal keinen technischen Einfluss auf das, um was es in dem Beitrag hier geht.

Dritter Schritt der Vorbereitung: Öffnet den Xcode Organizer und löscht in der LIBRARY alle Provisioning Profiles die drin stehen. Sie dürften eh nicht valide sein, wenn doch… trotzdem killen.
Wenn Ihr nun – wenn noch nicht geschehen – Euer iPhone / iPod-Device anklemmt, werden da dann auch noch Provisioning Profiles angezeigt. Die auch löschen.

Nun haben wir unser System sozusagen sauber gemacht… jungfräulich wenn Ihr so wollt. Übrigens: Verschwinden die Zertifikate und Schlüssel beim Löschen nicht, hilft ein Neustart des Systemes. Bei mir ging das aber problemlos.

2.) Neuerstellung eines Provisioning Profiles DEVELOPMENT:
Geht im iOS Provisioning Profile auf “Home” und klickt dann unten auf den Assistenten (“Launch Assistant”). Führt alle Schritte durch die er von Euch fordert. Kleine Hilfe in der Schlüsselbundverwaltung: Bei geöffneter Schlüsselbundverwaltung werden folgende Schritte verlangt: Schlüsselbundverwaltung > Zertifikatsassistent > Zertifikat einer Zertifizierungsinstanz anfordern. Fülle die gewünschten Infos aus (E-Mail, Name und Speichern auf Festplatte) und lege das File auf der Festplatte ab, am besten auf den Desktop, wie standardmäßig angegeben.
Im Verlauf des Assistenten wird nun nach dem File gefragt, klick auf den entsprechenden Knopf und lade das Zertifikat hoch. Damit haben wir die benötigten Schlüssel (Privat und Öffentlich). Gehe alle weiteren Schritte vollends durch und lade Runter was man runterladen kann. Alle heruntergeladenen ZERTIFIKATE werden bitte mit der Hand am Arm in die Schlüsselbundverwaltung gezogen. NICHT doppelklicken. Das bedeutet Schlüsselbundverwaltung öffnen und im Finder unter “Downloads” die Zertifikate WWDR und das Development Zertifikat per Drag & Drop in den Schlüsselbund ziehen. Das heruntergeladene Development Provisioning Profile können wir per Drag & Drop in den Xcode Organiser ziehen. Damit ist das auch fix. Ebenso habe ich ihn zur Sicherheit noch unter Devices in mein iPhone gezogen. Damit ist das DEVELOPMENT Provisioning Profile Valide. Im Safari auf developer.apple.com sollte nun Active Status bei “Provisioning” stehen und “Issued” unter Certificates.

3.) Neuerstellung des Provisioning Profiles DISTRIBUTION:
Wir bleiben im Development-Center im Safari und gehen auf “Provisioning” > Reiterchen “Distribution”. Hier klicken wir “New Profile” an und führen alle notwendingen Schritte durch. Auch dieses erstellte Provisioning Profile laden wir herunter und ziehen es in den Organiser von Xcode. Je nach Alter des Xcode (ich nutze 4.4) kann man auch im Organiser unter “Provisioning Profiles” rechts unten den “Refresh”-Button klicken. Der zieht sich die vorhandenen Profile auch so. Nun noch im Development-Portal unter “Certificates” > Reiterchen “Distribution” das Zertifikat downloaden und auch hier wieder per Drag & Drop in die Schlüsselbundverwaltung ziehen.

Damit haben wir drei Zertifikate in der Schlüsselbundverwaltung (WWDR, Dev, Distri) + 2 Schlüssel (Privat, Öffentlich) und zwei Provisioning Profiles im Xcode Organiser. Alle stehen auf Active, Valid oder Issued… alles ist toll. JUHUUUUUU! Nun erstellt Eure App mit Xcode. Gibt tolle Youtube Tuts dafür.

4.) Wichtig ist am Ende noch: Die App muss sich beim Archivieren dem Code Signing Prozess unterwerfen (Immer zulassen bitte). Dazu müsst Ihr in den Einstellungen der App noch folgendes tun:
In Xcode gehen wir links oben in der Ordnerstruktur auf den Stamm / root der App (bei mir ein blaues Icon mit dem Namen des Projektes) und dann rechts im Fenster auf “Build Settings”. Da scrollt Ihr nach unten bis zum Feld “Code Signing” und wählt für DEBUG >> “Any iOS SDK” den Developer aus und bei RELEASE >> “Any iOS SDK” den Distributer aus.

FÄRTSCH!

Ich hoffe Ihr kommt damit klar… ansonsten Fragen stellen und / oder den “Bedanken”-Button klicken.

Vince

2 Comments

  1. Hallo Vice

    danke für die klare Beschreibung – ich find das Thema einen recht mühsamen Jungle und bin deshalb froh, diese Seite gefunden zu haben. Mir kommt beim Entfernen der Zertifikate und Prov. Profiles allerdings die Frage: Kann ich eine App, die ich zuvor schon mal in der Version 1.0 eingereicht habe anschliessend noch updaten? Muss ich dazu nicht einen alten signingrequest, zertifikat o.ä. wieder verwenden?
    und: wie ist das mit Apple Push-Zertifikaten? kann ich die noch updaten, wenn ich vorher alle zertifikate gelöscht und neu erstellt hab?
    Schöne Weihnachten!
    Gruss
    Martin

    Reply
    • Hallo Martin,

      das Updaten einer App mit neuen Zertifikaten ist kein Problem. Das wäre ja auch schlimm wenn das nicht ginge. Teste es ruhig aus es funktioniert auf jeden Fall.
      Auch mit den Pushs wirst du keine Probleme haben. Frohe Weihnachten,

      der Vince

      Reply

Leave a Comment.