2012-03-13 2 views
13

Questa sera sono stato aggiornato da Snow Leopard a Lion e aggiornato a Xcode 4.3.1 (iOS 5.1). E ora quando provo a eseguire la modalità di debug sul mio dispositivo (iPad) ottengo "Non è stato trovato un profilo di provisioning valido per questo eseguibile". Ho provato ogni suggerimento nei post precedenti su questo problema. Ho generato un nuovo certificato. Ho impostato la firma del mio codice per utilizzare il nuovo certificato. Ho aggiornato il profilo di provisioning per utilizzare il nuovo certificato. Sono entrato nel file .pbxproj e ho cancellato tutti i riferimenti al profilo di provisioning. Ho pulito e chiuso Xcode un milione di volte. Non importa quello che faccio, ho ancora lo stesso errore quando provo a eseguire sul dispositivo.Xcode 4.3.1 "Non è stato trovato un profilo di provisioning valido per questo eseguibile"

In Organizer, il profilo di provisioning si presenta come "Profilo valido" nella mia libreria, ma sotto i profili di provisioning elencati per il dispositivo non ce ne sono elencati. Ho provato a fare clic sul pulsante Aggiungi e importarlo manualmente - non succede nulla. Non si presenta. Quando faccio clic sull'icona del dispositivo in Organizer è indicato "Provisioning No provisioning profiles". Tuttavia, quando vado sul mio portale di provisioning iOS online e faccio clic sul dispositivo, il profilo di provisioning viene visualizzato lì come associato al dispositivo.

Qualche idea? Sto tirando i miei capelli qui.

+0

Hai controllato il tuo Bundle Identifier Hai? per fornire l'identificatore del nuovo profilo di provisioning come identificativo del pacchetto. – Sree

+0

L'ID app associato al mio profilo di provisioning è (ID seme bundle). (Identificatore pacchetto). E corrisponde all'identificatore del pacchetto impostato nel mio file info.plist. – Joel

+0

Hai impostato lo stesso 'Identificativo della firma del codice 'in' Impostazioni di compilazione' per il Progetto e il Target? La cosa più semplice è usare 'iPhone Developer', che fa sempre corrispondere il profilo giusto. –

risposta

6

La soluzione che ha funzionato per me è stato:

-deleted tutti i riferimenti a provisioning profilo in .pbxproj.
-Eliminato tutti i certificati nel portachiavi.
-Importato il mio certificato per portachiavi.
-Creato un nuovo profilo di provisioning e configurato nel portale per sviluppatori.
-Risultato profili di provisioning nell'organizer xcode.
-Eliminato il profilo di fornitura di caratteri jolly che xcode aggiunge automaticamente.
: è entrato nella firma del codice e ha selezionato l'account di firma associato al profilo di provisioning corretto.
-Plugged in un diverso dispositivo iOS (con iPad acceso per iPhone fresco)
-Costruito per un nuovo dispositivo iOS.

E ha funzionato. Non sono sicuro di quale sia stato il passo magico. Non ho reinstallato xcode.

5

Assicurarsi che sia stata generata una chiave pubblica e privata valida per il profilo. Ancora più importante assicurarsi che i tasti siano memorizzati nel posto giusto nel portachiavi.

Dovrebbero essere sotto login, non sistema o qualsiasi altro punto. Questo era causa e problema per me, e mi ci è voluto un po 'per trovare la soluzione.

Spero che questo aiuti.

+0

Grazie per il suggerimento. L'avevo già provato però. Alla fine ho semplicemente fatto saltare tutto e iniziare da zero con un nuovo profilo di provisioning, ecc. – Joel

+1

@JoelMilne: quali sono stati i passaggi che hai fatto per questo? Hai reinstallato Xcode? Puoi dare qualche dettaglio? –

+1

Eliminato tutti i riferimenti al profilo di provisioning in .pbxproj. Cancellate tutte le voci nel portachiavi. Ho importato il mio certificato nel portachiavi. Creato un nuovo profilo di provisioning e lo ha configurato nel portale per sviluppatori. Profili di provisioning aggiornati nell'organizer xcode. Eliminato il profilo di fornitura di caratteri jolly che xcode aggiunge automaticamente. Sono entrato nella firma del codice e selezionato la chiave associata al profilo di provisioning corretto. Costruito per dispositivo iOS. E ha funzionato. Non ho reinstallato xcode. – Joel

10

Hai per caso due account sviluppatore con diversi set di dispositivi/app? Ho riscontrato questa situazione (guarda quale profilo "Provisioning del team iOS" corrisponde a "Sviluppatore iPhone"). L'unico modo che ho trovato per cambiare team, per così dire, è selezionare il tuo dispositivo e fare clic su "Aggiungi al portale" e accedere con l'ID Apple corretto.

+0

No, ne ho solo uno. Ma buon suggerimento per gli altri. – Joel

+0

Questo ha funzionato per me. Ho dovuto rimuovere entrambi gli account, quindi riavviare XCode. Dopo il riavvio, ho aggiunto di nuovo l'account di cui avevo bisogno per questo progetto. Questo deve aver attivato un aggiornamento dei profili dai server di Apple. Una volta accaduto, sono stato in grado di selezionare "profilo di provisioning del team" come certificato di firma del codice di sviluppo. – Jason

2

ho visto questo problema prima, e la mia soluzione "standard" è

a) fare un nuovo progetto fittizio iOS, utilizzando il menu Xcode - File - Nuovo - progetto. Controlla la firma del codice è il tuo certificato sviluppatore. Compilare e vedere se può essere eseguito sull'hardware dell'iPhone/ipad.

Se a) fallisce, è qualcosa con i certificati e il portachiavi.Cancella tutto e crea nuovi certificati

Se b) funziona, è qualcosa nel file .xcodeproj o nella cartella di compilazione per il tuo progetto problematico. Rimuovi tutti i file e le cartelle in build. Usa il tuo backup (assicurati di avere un backup giornaliero per il tuo progetto !!!) e copia un "vecchio" file .xcodeproj nel tuo progetto problematico. Usa Xcode - project - clean, xcode - project - build as - testing, e qui di seguito "run".

Prima di provare sopra la soluzione, eseguire un backup aggiuntivo.

buona fortuna, e ricorda che non sei il primo con problemi di certificato.

0

Nel mio caso il problema non era affatto relativo a chiavi, certificati, profili di approvvigionamento o qualsiasi altro dei motivi menzionati qui e in qualsiasi altro luogo. Si scopre che qualche altro sviluppatore di una squadra diversa ha preso in prestito l'iPad che usiamo e ha cambiato la data del dispositivo in un anno in futuro! Dopo aver impostato la data e l'ora corrette e eseguito l'applicazione sul dispositivo, tutto ha funzionato bene.

Sfortunatamente Xcode non mi ha avvisato di questo, ed è stato fino a quando ho avuto bisogno di risolvere un altro problema non correlato che Instruments mi ha informato di questa situazione sulla data sbagliata sul dispositivo.

0

Basta selezionare la sezione "Firma codice" in "Impostazioni build". Se in precedenza hai creato la tua app per la pubblicazione di appstore potresti aver dimenticato di passare dal profilo di distribuzione al profilo di sviluppo.

0

Se siete su Xcode 6, e in esecuzione in questo problema quando si aggiunge un nuovo dispositivo (iPhone 5/6), è possibile seguire i passaggi here:
https://stackoverflow.com/questions/22993092/a-valid-provisioning-profile-for-this-executable-was-not-found-error-when-tryi/26153171#26153171