2010-09-16 3 views
13

Ich denke, mein Kopf explodiert bald. Ich habe eine Weile an meiner Anwendung gearbeitet und endlich ein iPhone zum testen auf dem Gerät, jetzt versuche ich, meine App auf dem iPhone laufen zu lassen, aber ich kann es nicht tun. Ich habe alle notwendigen Schritte getan, aber [BEROR]Code Sign error: a valid provisioning profile matching the application's Identifier 'com.yourcompany.MyProject' could not be foundWoher nimmt xcode den Identifier der Anwendung?

Mein provisionign Profil einen Fehler bekommen XXXXXXXXX.com.myname.*

in info.plist aufgerufen I Bundle Kennung com.myname.myapplication

mein Projektnamen geändert ist MyProject weil ich es kann‘ t es ändern, aber mein Ziel und Executables myapplication

ich rief habe alle Einstellungen überprüft und kann nicht einmal diese yourcompany überall

finden

aber immer noch diesen Fehler

wo brauche ich suchen?

danke

+1

Können Sie die info.plist- oder Projekteinstellung des Projekts sehen? – vodkhang

Antwort

23

Xcode verwendet die Bündelkennung in das Ziel der Info.plist-Datei für die Codesignatur gefunden.

Welche Info.plist-Datei ausgewählt ist, ist eigentlich eine Build-Einstellung (normalerweise im Ziel) und wird normalerweise von Xcode korrekt eingerichtet. Wenn Sie den Bundle-Bezeichnerwert von Info.plist manuell auf Ihren Bezeichner ändern, sollte Xcode diesen Bezeichner verwenden und die Codesignatur sollte funktionieren.

Die Standarddatei Info.plist enthält eine Paketkennung, die Xcode-Buildeinstellungen enthält und beim Erstellen des Ziels zur endgültigen Kennung verarbeitet wird.

+0

Ok, ich fand in einer Projektordner-Datei MyProject-info.plist, die falsche Daten enthielt, ich änderte es und es funktioniert jetzt, aber ich kann diese Datei nicht in xcode sehen, in xcode habe ich myapplication-info.plist, ich denke, es ist nicht richtig, was kann ich damit machen? Was macht diese Datei überhaupt? – Burjua

11

Die Antwort von Nikolai Ruhe sagte: "Wenn Sie den Bundle Bezeichner Wert von Info.plist manuell zu Ihrem Bezeichner geändert haben, sollte Xcode diesen Bezeichner verwenden und Code Signing sollte funktionieren." Das ist wahr. In diesen Tagen (ich bin mir nicht sicher, wie es im September 2010 war) verwendet xcode eine Standard-Paketkennung, die eine Funktion der Variablen $ {PRODUCT_NAME} ist. Dieselbe Variable wird an verschiedenen anderen Orten verwendet, zB als Bundle-Name, Bundle-Anzeigename usw. Daher würde ich empfehlen, stattdessen $ {PRODUCT_NAME} zu ändern, und diese Änderung wird dann an die Bundle-ID des Info.plist weitergegeben.

Wie kann $ {PRODUCT_NAME} geändert werden? Wählen Sie das entsprechende Ziel, gehen Sie zu "Einstellungen erstellen", erweitern Sie den Abschnitt "Verpackung" und bearbeiten Sie dann den Wert von "Produktname".

+0

Dies ist nicht immer wahr. Wenn Sie eine App freigeben, den Produktnamen jedoch später ändern, müssen Sie weiterhin Ihre alte Paket-ID verwenden. In diesem Fall ist es sinnvoll, nur die Bündel-ID zu ändern. –

1

Wählen Sie Ihr Ziel, gehen Sie zur Zusammenfassung. Ändern Sie die Paket-ID aus com.yourcompany.MyProject in com.myname.myapplication. Es sollte funktionieren! Ich benutze es so und es funktioniert immer gut. Sie können das gleiche auch in der Datei info.plist tun.