Profilnummer für iOS-Bereitstellung in Xcode

8

Wie auch immer, um das Bereitstellungsprofil in der Xcode-Organisator- oder Online-Entwickler-Site mit der verrückten Serien- / ID-Nummer zu vergleichen, die unter den Code-Signier-Präferenzen von Xcode angegeben ist?

Ich möchte sicher gehen, dass ich meine App mit dem richtigen (Ad Hoc) Provisioning-Profil erstelle - Xcode gibt mir eine lange ID (wie oben zu sehen), aber die Online-Entwickler-Site und die Xcode-Einstellungen, die meine Bereitstellung auflisten Profile listet diese Nummer nicht auf.

    
wcochran 22.06.2014, 16:06
quelle

3 Antworten

11

Was in Xcode angezeigt wird, ist die garantiert eindeutige UUID des Bereitstellungsprofils. Um zu überprüfen, dass es das gewünschte Profil ist. Gehen Sie zur Website "Certificates, Identifiers & amp; Profiles" von Apple Developer.

  • Sehen Sie sich die Details zum Code-Signing an, um den Namen des Bereitstellungsprofils zu erhalten

  • Laden Sie das Bereitstellungsprofil herunter, das Ihrer Meinung nach
  • sein sollte
  • Suchen Sie in der Provisioning-Profildatei, indem Sie die Befehlszeile oder einen einfachen Texteditor verwenden. Benutze keinen Xcode (Ich persönlich ziehe die Datei einfach per Drag & Drop in TextMate 2)

  • Vergleichen Sie die UUID in der Datei und Ihre Einstellung in Xcode

Zur Erinnerung: Provisioning-Profile und Entwicklungszertifikate sterben ab.

Sie können neue Zertifikate im Portal erstellen, aber es ist viel einfacher, Xcode zu verwenden. (Ich persönlich würde die Beta Xcode 6 nicht verwenden und alle folgenden Screenshots stammen von Xcode 5.1) Wie Sie sehen können, sind mein Testflight-Verteilungszertifikat und das Provisioning-Profil abgelaufen. Abgelaufene Zertifikate sind kein großes Problem, sie wirken sich nicht auf Ihre Apps im Geschäft aus. Die Apps, die Nutzer kaufen, sind von Apple signiert. Sie müssen die App unterschreiben, um sie zur Überprüfung einzureichen, um zu beweisen, dass die App von Ihnen stammt. Es kann ein Problem sein, wenn das Zertifikat während der Überprüfung abläuft, aber Sie müssen es nur erneut einreichen. Wenn Ihr verteiltes Ad-Hoc-App-Zertifikat abläuft, können Ihre Betatester es nicht mehr ausführen. Sie müssen allen eine neue Version mit einem neuen Zertifikat und einem aktualisierten Bereitstellungsprofil bereitstellen.

  • Verwenden Sie Xcode, um das Verteilungszertifikat zu aktualisieren - Xcode - Einstellungen - Registerkarte Konten - Konto auswählen - Schaltfläche "Details anzeigen ..."

  • Neues Distributionszertifikat hinzufügen

  • Das wird etwas dauern, ~ 30 Sekunden? sei geduldig

  • Erfolg

  • Sie können das Portal jetzt zum Bearbeiten oder Erstellen eines neuen Bereitstellungsprofils verwenden und vollständig steuern, wer auf Ihre Ad Hoc Distributed App zugreifen kann

Beschriebene Zertifikate und Bereitstellungsprofile

Es ist nur Sicherheit und Verschlüsselung mit privatem Schlüssel / öffentlichem Schlüssel. Wie beim Einrichten von SSH-Schlüsseln steckt der Teufel im Detail. Eine Sache fehlt, eine falsche Erlaubnis, ein Bit geändert und nichts funktioniert.

Die Spieler

  • Ihr privater Schlüssel - erforderlich, um Objekte zu signieren, die dann mit Ihrem Zertifikat validiert werden können
  • Ihr iPhone-Zertifikat (Erstellt von Apple als Unterschriftsberechtigung mit Ihrem öffentlichen Schlüssel)
  • Apples Intermediate Certificate - Das Zertifikat, das die zur Validierung Ihres Zertifikats erforderliche Signaturberechtigung angibt
  • Ein Bereitstellungsprofil - enthält
    • Eine App-ID
    • Zertifikat
    • Liste der Geräte-IDs

Die Anforderungen

  • Identifizieren Sie den Entwickler
  • Identifizieren Sie das iPhone-Entwicklungsteam (Apple iOS Developer-Mitgliedschaft)
  • Identifizieren Sie die Anwendung
  • Identifizieren Sie die einzelnen autorisierten Geräte
  • Stellen Sie sicher, dass sich auf dem Gerät des Benutzers kein einziges Byte der Anwendung geändert hat

Häufige Probleme:

  • Die App-ID im Bereitstellungsprofil ist nicht mit dem Bundle-Identifikator kompatibel, der im Info-Verzeichnis der Anwendung definiert ist. Ja, es ist unglücklich Xcode nennt es eine Bündel-ID und das Portal nennt es eine App-ID. Die Standard-App-Vorlagen verknüpfen die Paket-ID mit einer mutierten Version des App-Namens. Wenn Sie also den Namen ändern, wird alles außer dem Simulator unterbrochen. Siehe: Teambereitstellungsprofile in der Tiefe - Ссылка
  • Neuer Rechner: Kein Entwicklerkonto in Xcode, daher kein Zertifikat und Bereitstellungsprofil
  • Neue Maschine: Kein privater Schlüssel für das Zertifikat
    • Wenn Xcode ein Zertifikat für Sie erstellt. Es erstellt zuerst einen privaten Schlüssel / ein öffentliches Schlüsselpaar. Der private Schlüssel wird im Schlüsselbund gespeichert. Eine Zertifikatsignierungsanforderung wird in Apple hochgeladen. Ihr Zertifikat wird automatisch erstellt und heruntergeladen. Sie können Ihr Zertifikat oder Provisioning-Profil immer erneut herunterladen, aber Ihr privater Schlüssel befindet sich nur in Ihrem Schlüsselbund und wahrscheinlich nur auf einem Computer. Es sei denn, Sie aktivieren die Synchronisierung des Schlüsselbunds oder speichern diese explizit in einer Datei und im Sneaker-Net auf einem anderen Computer.
  • Neue Maschine: Fehlendes Zwischenzertifikat von Apples Worldwide Developer Relations Certificate Authority
  • Zertifikat und / oder Bereitstellungsprofil abgelaufen
  • Keychain Zugriff nicht "Immer zulassen". Zertifikate werden sicher im Schlüsselbund gespeichert, so dass Xcode immer Schlüsselbundzugriff benötigt

Referenz: Apples Application Distribution Guide - Ссылка

>     
GayleDDS 22.06.2014, 19:35
quelle
5

Dieser Hinweis wird in einem Kommentar von wcochran begraben, aber Sie brauchen nur die UUID der mobileprovision-Datei anzuzeigen Führe das aus:

%Vor%

Das wird etwa so aussehen:

%Vor%

Der Wert zwischen den <string> -Tags ist die UUID, die Sie benötigen.

Sie können die Datei auch in vim oder in einem anderen Texteditor öffnen, der keine anderen Zeichen als UTF-8 enthält. (Klammern funktionieren aus diesem Grund nicht).

    
James Oltmans 26.06.2017 18:23
quelle
3

Dies ist ein sehr praktisches Werkzeug: Ссылка

Es ist ein Quick Look-Plug-In, mit dem Sie die Informationen zu einer .mobileprovision-Profildatei einschließlich ihrer UUID anzeigen können. Ein weiterer Vorteil ist, dass Sie die Geräte anzeigen, die für diese Profildatei konfiguriert sind.

    
Dave Wood 22.06.2014 19:50
quelle

Tags und Links