it-swarm.com.de

Es wurde kein gültiges Bereitstellungsprofil gefunden, das mit der Kennung der Anwendung übereinstimmt

Das wurde schon früher gefragt, aber die Antworten auf vorherige Fragen lösen mein Problem nicht.

Ich versuche, eine einfache Hello World-App namens "CalculatorBrain" aus Stanford iTunes U-Kursen zu erstellen. Ich kann es im Simulator gut laufen lassen, aber ich möchte es auf meinem iPhone 4S haben.

Ich synchronisiere mein iPhone 4S über iTunes auf meinem Windows-Computer. Immer haben. Ich dachte, ich sollte dieses Detail auflisten.

Zurück zu meinem Macbook (Mountain Lion). Ich verwende den aktuellsten XCode 4.6.2 (4H1003) und mein iPhone ist meiner Meinung nach auch das neueste bei 6.1.3.

Ich war auf der Apple-Entwicklerseite im Bereitstellungsportal. Ich habe meine 4S hinzugefügt. Ich nannte es JohnSmith und gab den Handys UDID. 

In XCode habe ich den Organizer geöffnet. Geräte werden standardmäßig hervorgehoben. Ich habe den Passcode in mein iPhone eingefügt und ihn in mein Macbook gesteckt. Geräte findet mein iPhone. Wenn ich auf Provisioning-Profile klicke und "Gerät zum Provisioning-Portal hinzufügen" versuche, erhalte ich die Meldung "Ein Gerät mit einer Nummer ist in diesem Team bereits vorhanden." Großartig. Ich weiß, dass es dann mit Sicherheit hinzugefügt wird. Alle guten Nachrichten bis jetzt.

In meiner Hello World-App, CalculatorBrain-Info.plist, lautet meine Bundle-ID "com.JohnSmith.CalculatorBrain". Der Anzeigename des Bundles lautet "$ {PRODUCT_NAME}" und die ausführbare Datei ist "$ {EXECUTABLE_NAME}", falls dies wichtig ist.

Wenn ich im Navigator mein Projekt hervorheben und die Build-Einstellungen aufrufen, erhalte ich unter Code Signing Identity die Optionen ...

Code nicht unterschreiben

Automatische Profilauswahl - iPhone Entwickler - iPhone Distribution

Identitäten ohne Bereitstellungsprofile - iPhone Entwickler: John Smith (R ............ K) - iPhone-Vertrieb: John Smith (Y .......... ... 5)

Andere...

Ich habe alle ausprobiert. Ich gehe davon aus, dass ich den iPhone-Entwickler verwenden sollte: John Smith, aber es heißt, es ist eine Identität ohne Provisioning-Profile.

Was ist denn hier los? Was muss ich tun, damit das funktioniert?

12
chris P

Aufgrund Ihrer Beschreibung klingt das fehlende Element darin, dass Sie zum Tool 'Zertifikate, Bezeichner und Profile' zurückkehren müssen, ein Entwicklungsbereitstellungsprofil für die AppID Ihrer HelloWorld-Anwendung generieren und dieses Profil dann in Ihrer Entwicklung installieren Maschine. Auf hoher Ebene setzt sich dies aus den folgenden Schritten zusammen:

  1. Suchen Sie die AppID für Ihr Projekt in Xcode.
  2. Stellen Sie sicher, dass Sie diese AppID unter "Zertifikate, Bezeichner und Profile" eingerichtet haben.
  3. Erstellen Sie ein Entwicklungs-Bereitstellungsprofil für diese AppId, Ihr Entwicklungszertifikat und ein oder mehrere registrierte Testgeräte.
  4. Laden Sie das Bereitstellungsprofil in Xcode herunter und installieren Sie es.
  5. Konfigurieren Sie Ihr Projekt mithilfe dieses Profils und der Signaturkennung für verknüpften Codes für Code Signing.
  6. Gerät bauen!

Das von Ihnen erwähnte Build-Konfigurationselement 'Code Signing Identity' ist in hohem Maße von den Einstellungen Ihres Projekts sowie den auf Ihrem Entwicklungscomputer verfügbaren Bereitstellungsprofilen abhängig. Ich habe vor kurzem eine tangential verwandte Frage 'Was sind Codesignaturidentitäten?' Beantwortet, die hilfreich sein kann, um zu sehen, welche Informationen Code Signing verwendet, und wie Sie überprüfen können, ob Sie über die Einrichtung Ihres Entwicklungscomputers verfügen Code unterzeichnen Sie Ihr Projekt.

... und nun zu spezifischeren HOWTOs, die Ihnen bei der Bearbeitung Ihrer Code Signing-Frage helfen:

AppID des Projekts suchen

Die AppID definiert eine Anwendung eindeutig im iOS-Ökosystem und ist eines der Dinge, die Sie beim Start eines neuen Xcode-Projekts erstellen. Diese AppID ist das, was Sie im Tool "Zertifikate, Kennungen und Profile" registrieren müssen, um mit der Bereitstellung zu beginnen.

Xcode AppId Setting

  1. Klicken Sie im Projektnavigator (CMD + 1) auf Ihren Projektnamen (wahrscheinlich 'CalculatorBrain'). Daraufhin werden die Einstellungen des Projekts angezeigt.
  2. Wählen Sie [Ihr Projektname]> Registerkarte Zusammenfassung, wie im Bildschirmausschnitt von oben gezeigt (MyiOSApplication).
  3. Ihre iOS-AppID wird im Feld "Bundle Identifier" angezeigt. Schnappen Sie sich eine Kopie dieser Zeichenfolge, die Sie als Nächstes benötigen.

Überprüfen (oder Einrichten) der AppID

  1. Navigieren Sie zu http://developer.Apple.com/ios und rufen Sie das Tool 'Zertifikate, Kennungen und Profile' auf.
  2. Wählen Sie nach dem Anmelden 'Identifiers' aus.
  3. Überprüfen Sie, ob die im vorherigen Abschnitt gefundene AppID in der Liste der App-IDs enthalten ist. Wenn ja, notieren Sie sich den App-ID-Namen und fahren Sie mit dem nächsten Abschnitt fort, andernfalls ...
  4. Klicken Sie auf die Schaltfläche "Hinzufügen" (Plus) in der oberen rechten Ecke, und geben Sie einen Namen für diese App-ID ein (kann beliebig sein, solange es keine Sonderzeichen gibt.)
  5. Scrollen Sie zum Ende der Seite und fügen Sie eine Kopie Ihrer App-ID aus dem vorherigen Abschnitt in das Feld "Bundle ID" ein. unter "Explizite App-ID".
  6. Klicken Sie auf "Weiter".

Beachten Sie, dass die AppID im gesamten iOS-Ökosystem eindeutig sein muss. Möglicherweise wird eine Fehlermeldung angezeigt, wenn die ausgewählte AppID bereits verwendet wird. Wenn dies der Fall ist, ändern Sie die 'Bundle ID' in etwas Einzigartiges. Aktualisieren Sie einfach die Einstellung 'Bundle ID' in Ihrem Xcode-Projekt, um dem zu entsprechen, wo Sie sich gerade befinden.

Erstellen eines Entwicklungsbereitstellungsprofils

Jetzt, da die App-ID registriert ist, können Sie nun ein Development Provisioning-Profil erstellen, das Ihre App-ID, Ihr Entwicklungszertifikat und Ihre Testgeräte-ID (s) miteinander verbindet.

  1. Navigieren Sie im Tool "Zertifikate, Identitäten, Profile" zu "Bereitstellungsprofile".
  2. Klicken Sie oben rechts auf die Schaltfläche "Hinzufügen" (Plus).
  3. Wählen Sie im Schritt "Typ auswählen" die Option "iOS App-Entwicklung" aus und klicken Sie auf "Weiter".
  4. Wählen Sie Ihre App-ID aus der Dropdown-Liste der App-IDs aus und klicken Sie auf "Weiter".
  5. Aktivieren Sie das Kontrollkästchen neben Ihrem Entwicklungszertifikat und klicken Sie auf "Weiter".
  6. Aktivieren Sie das Kontrollkästchen neben den Testgeräten, die Sie zur Installation dieser App autorisieren möchten, und klicken Sie auf "Weiter".
  7. Geben Sie einen Profilnamen ein (ohne Sonderzeichen), und klicken Sie auf "Generieren".

Bereitstellungsprofil herunterladen und installieren

Sobald das Bereitstellungsprofil erstellt wurde, stellt das Tool einen Link zum Herunterladen bereit

  1. Laden Sie das Bereitstellungsprofil herunter, indem Sie auf den Link "Download" klicken.
  2. Ziehen Sie das Bereitstellungsprofil aus dem Download-Speicherort und legen Sie es auf dem Xcode-Dock-Symbol ab oder öffnen Sie es mit einem Doppelklick.

Code-Signaturidentität konfigurieren

Klingt, als wüssten Sie bereits, wo sich das befindet, aber nur für den Fall:

  1. Klicken Sie im Projektnavigator (CMD + 1) auf Ihren Projektnamen (wahrscheinlich 'CalculatorBrain'). Daraufhin werden die Einstellungen des Projekts angezeigt.
  2. Wählen Sie [Ihr Projektname]> Registerkarte Build Settings.
  3. Blättern Sie zu "Code Signing Identity".

Theoretisch möchten Sie die Option "Automatische Profilauswahl" verwenden, mit der versucht wird, Ihre AppID mit einem installierten Provisioning-Profil abzugleichen. Sie können jedoch auch durch die Liste blättern und eine bestimmte Zuordnung von Bundle-ID/AppId zu iOS-Zertifikat auswählen.Mein eigener Xcode scheint sich auch nicht immer an Änderungen an neu installierten Provisioning-Profilen zu orientieren. Es ist unklar, ob dies nur eine Eigenart meiner eigenen Xcode-Installation ist oder ob ein Fehler in Xcode vorliegt. Auf jeden Fall scheint das Beenden und Neustarten von Xcode eine erneute Indexierung/Aktualisierung von Profilen auszulösen.

Wählen Sie auf jeden Fall die Option, die Ihrer AppId/BundleId und Ihrem Entwicklerzertifikat entspricht.

Angenommen, das Problem war ein fehlendes/unvollständiges/abgelaufenes Bereitstellungsprofil. Dann sollte dies die Inbetriebnahme erleichtern. Wenn nicht, müssen wir uns mit anderen potenziellen Einstellungen oder Problemen mit Zertifikaten befassen, durch die der Code-Signatur-Vorgang ausgelöst werden könnte.

Assuming the problem was a missing/incomplete/expired Provisioning Profile, then this should help get you up and running. If not, we'll have to Dig into other potential settings or certificates issues that could be tripping up your Code Signature operation.

39
Bryan Musial

Ich hatte ein sehr ähnliches Problem, versuchte jede Option für diese Codesignierung und die eigentliche Lösung für mich war: - Restarted Xcode - Gehe zu "Window-> Organizer" - Dann "Editor" und - "Refresh from Developer Portal" Dann setze ich "Aktiv das Schema" auf "iPhone (Petri)" neben den Schaltflächen Run und Stop.

6
Petri

Stellen Sie sicher, dass Ziele anstelle von Projekten überprüft werden. 

make sure Targets is selected

1
Asfanur

enter image description hereIn meinem Fall verfügt das Gerät über 3 gleichnamige Bereitstellungsprofile. Während der Entwicklung habe ich das Bereitstellungsprofil einige Male aktualisiert und jedes Mal, wenn ein neues aktualisiertes Profil hinzugefügt wurde, ohne das alte zu entfernen. Also suchte xcode das erste Bereitstellungsprofil, das zu diesem Zeitpunkt falsch war, und warf mir einen Fehler ins Gesicht ... __ Was sollten Sie tun:

  1. Fenster "Geräte" öffnen (Cmd + Shif + 2)
  2. Suchen Sie nach Ihrem Gerät und wählen Sie es aus
  3. Drücken Sie in der linken unteren Ecke auf die Schaltfläche "Einstellungen" 
  4. Presse "Bereitstellungsprofile"
  5. Suchen Sie nach Veröffentlichungen. Ich habe 3 Artikel mit demselben Namen gefunden
  6. alle bis auf die neueste entfernt
1