2010-09-16 14 views
13

Penso che la mia testa presto esploda. Ho lavorato alla mia applicazione per un po 'di tempo e finalmente ho gettato un iPhone per testare il dispositivo, ora sto cercando di eseguire la mia app su iphone ma non ci riesco. Ho fatto tutti i passi necessari, ma ottenendo un errore [BEROR]Code Sign error: a valid provisioning profile matching the application's Identifier 'com.yourcompany.MyProject' could not be foundDa dove viene Xcode a prendere l'identificativo dell'applicazione?

mio profilo provisionign si chiama XXXXXXXXX.com.myname.*

in info.plist ho cambiato identificatore Bundle per com.myname.myapplication

il mio nome del progetto è MyProject perché posso' t cambiarlo, ma il mio obiettivo e gli eseguibili chiamati myapplication

ho controllato tutte le impostazioni e non riesco nemmeno a trovare questo yourcompany ovunque

ma ottenendo ancora questo errore

dove ho bisogno di cercare?

grazie

+1

Puoi guardare info.plist del progetto o impostazione del progetto? – vodkhang

risposta

23

Xcode utilizza l'identificatore fascio trovato nel file Info.plist del bersaglio per la firma del codice.

Quale file Info.plist è selezionato è in realtà un'impostazione di generazione (normalmente nella destinazione) e viene solitamente impostato correttamente da Xcode. Se hai modificato manualmente il valore identificativo del bundle di Info.plist con il tuo identificatore, Xcode dovrebbe usare questo identificatore e la firma del codice dovrebbe funzionare.

Il file Info.plist predefinito contiene un identificativo del pacchetto che contiene le impostazioni di creazione Xcode ed è elaborato nell'identificatore finale quando si crea il target.

+0

Ok, ho trovato in un file di cartella progetto MyProject-info.plist che conteneva dati errati, l'ho cambiato e ora funziona, ma non riesco a vedere questo file in xcode, in xcode ho myapplication-info.plist, I penso che non sia giusto, cosa posso fare con questo? Cosa fa questo file? – Burjua

11

La risposta di Nikolai Ruhe ha detto "Se hai modificato manualmente il valore identificativo del bundle di Info.plist nell'identificatore, Xcode dovrebbe utilizzare questo identificatore e la firma del codice dovrebbe funzionare". Questo è vero. Tuttavia, in questi giorni (non sono sicuro di come fosse nel settembre 2010), xcode utilizza un identificatore di bundle predefinito che è una funzione della variabile $ {PRODUCT_NAME}. Questa stessa variabile viene utilizzata in vari altri luoghi, ad esempio, come nome del bundle, nome visualizzato del bundle, ecc. Pertanto, consiglierei di cambiare $ {PRODUCT_NAME}, e questa modifica si propagherà quindi all'identificatore del bundle di Info.plist, ecc.

Come modificare $ {PRODUCT_NAME}? Seleziona il target appropriato, vai su "build settings", espandi la sezione "packaging", quindi modifica il valore di "Product name".

+0

Questo non è sempre vero. Se rilasci un'applicazione, ma successivamente cambi il nome del prodotto, devi comunque utilizzare il vecchio identificatore del gruppo. In tal caso, cambiare solo l'identificatore del bundle è una buona idea. –

1

Seleziona il tuo obiettivo, vai al sommario. Modificare l'identificativo del pacchetto in com.myname.myapplication da com.yourcompany.MyProject. Dovrebbe funzionare! L'ho usato così e funziona sempre bene. Puoi fare lo stesso anche dal file info.plist.

Problemi correlati