Non è stato trovato un profilo di provisioning valido per questo eseguibile per la modalità debug


239

Ricevo questo errore mentre provo a eseguire il debug della mia app sul dispositivo.

Ho creato il profilo di provisioning di sviluppo come menzionato nel portale per sviluppatori. Il mio dispositivo di sviluppo è selezionato nel profilo e sto selezionando il profilo corretto dal menu Identità di firma del codice di Target. Ho ricreato il profilo di provisioning per diverse volte e anche rimosso e reinstallato e ricreato il progetto, ma lo ottengo ogni volta che provo a eseguire il debug sul dispositivo.

A proposito, il profilo di fornitura della distribuzione ad hoc funziona.

Ho trascorso la mia intera giornata a scoprire una soluzione ma niente. Qualcuno ha una soluzione?


2
Apple fornisce istruzioni dettagliate all'interno del portale di provisioning: certificati , profilo di provisioning
Casebash

Stranamente, vedo questo errore solo nella console di Xcode Organizer ma l'app si installa e funziona senza problemi. Sto costruendo con un profilo ad hoc e un profilo di distribuzione dell'app store. Potrebbe lamentarsi del profilo ad hoc ma in esecuzione con il profilo di distribuzione dell'app store?
richever,

Ho seguito questo tutorial e ha funzionato per me! Spero che sia d'aiuto. youtube.com/watch?v=dUdHifLTyrE
matiaslezin

Ho avuto lo stesso problema. Il motivo non era il dispositivo aggiunto al profilo di provisioning.
Kelin,

1
Se ricevi questo messaggio dopo una settimana di funzionamento dell'app e stai utilizzando un account sviluppatore gratuito, devi reinstallare
Ryan Haining,

Risposte:


186

Potrebbe essere perché il tuo iPhone non è riconosciuto dal portale di provisioning.

Soluzione:

1) In Xcode, vai a>> Costruisci -> pulisci tutti i target.

2) In "Gruppi e file" -> Destinazione -> espandi -> fai clic con il pulsante destro del mouse sull'app e seleziona Pulisci "l'app"

3) Vai a> Finestra -> Organizer

4) Nella scheda Dispositivi a sinistra, seleziona il tuo iPhone

5) Nella sezione Provisioning dell'iPhone selezionato elimina tutti i profili correnti (se presenti)

6) Scollega il tuo iPhone e ricollegalo.

7) Vai a> Finestra -> Organizer -> fai clic con il pulsante destro del mouse sul tuo iPhone -> Aggiungi dispositivo al portale di provisioning

8) Ora assicurati di aver selezionato l'identità di firma del codice appropriata nelle impostazioni di modifica del progetto -> build -> firma del codice

Costruisci ed esegui. In bocca al lupo!


7
non necessariamente. Ho fatto tutti i passaggi che hai citato e il mio dispositivo è / era già elencato nel portale di provisioning e ho ancora questo errore.
Nate,

35
Questo non è più aggiornato. In Xcode 4.3+ vai su Organizer> seleziona il dispositivo> fai clic su "Aggiungi al portale" nella parte inferiore della schermata e sei via! Se sbagli la password la prima volta che Xcode Organizer ti chiede, installerà comunque il dispositivo ma senza un certificato valido. L'aggiornamento dei profili di provisioning in "Libreria" non ha alcun effetto sul certificato associato del dispositivo. Ecco!
pchap10k,

1
Non pensavo che avrebbe funzionato, ma lo ha fatto totalmente. Grazie! mi ha risparmiato molte ore di mal di testa. :) a proposito, sto usando xcode 4.5.
Mona,

1
Quando "aggiungevo al portale di provisioning" ho ricevuto un errore che avevo bisogno di accettare il nuovo accordo sul sito Web developer.apple.com, prima di tutto ho usato il browser web, poi ha funzionato alla grande. Grazie!
haa,

11
Molto fuori moda. Questo è completamente diverso in xCode 6 ... aggiorna la tua risposta.
stevebot,

45

In Xcode 10, ho risolto questo problema cambiando il sistema di build del progetto da "nuovo sistema di build" a "sistema di build legacy" (File -> Impostazioni progetto).


5
La domanda originale è "Ho passato la mia intera giornata a scoprire una soluzione ma niente. Qualcuno ha una soluzione?" per quanto riguarda l'errore "Impossibile trovare un profilo di provisioning valido per questo eseguibile per la modalità di debug". La modifica del sistema di compilazione nella nuova versione di Xcode risolve il problema. Ci sono molte soluzioni pubblicate per varie situazioni in cui ciò si verifica.
che il

3
@ user191712 Ignora i moderatori aspiranti. La tua risposta mi ha salvato da ore di abbattimento di conigli non correlati all'errore. Grazie!
Remondo

Ho dimenticato di controllare questa configurazione ... 🤦‍♂️ grazie amico!
Cesare

Grazie mille. Ha funzionato per me senza perdere tempo!
Deniz,

1
Per un motivo che ancora non capisco, quello era anche il mio problema con un cordova-ios@4.5.4progetto e XCode 10.0.
Żabojad,

41

Ho avuto lo stesso problema. Tutto andava bene: il dispositivo era registrato nel portale di provisioning IOS; il certificato è stato scaricato e sono stati scaricati i profili di provisioning di sviluppo per la mia app.

Quindi la soluzione !!!

Target> Ottieni informazioni

Seleziona Configurazione da rilasciare (ecco il diavolo) Nella firma del codice, Verifica identità firma codice iPhone Developer. Vicino.

In Target scegli Pulisci target e quindi Esegui l'app.

In bocca al lupo.


67
Dov'è questo target-> Ottieni informazioni?
Septiadi Agus,

1
Ho visto che posso impostare l'identità della firma del codice su Devloper nelle impostazioni di compilazione.
Septiadi Agus,

2
Nessuno screenshot per "Target-> Ottieni informazioni"? Non lo trovo.
GusIl

1
@Rafael Che cos'è Target-> Ottieni informazioni?
skywinder,

1
Spiegare cos'è "Target> Ottieni informazioni".
bitops

28

Nel mio caso questo è stato perché lì un paio di versioni del certificato per sviluppatori nel portachiavi.

Eliminare il certificato Developer di iPhone da I miei certificati e certificati, quindi scaricare l'ultimo dal centro di sviluppo e installarlo (fare doppio clic sul file .cer)

risolto il mio problema


Aveva lo stesso problema. Più Dev certs al mio nome. Questo l'ha risolto.
Héctor Ramos,

2
sì, questo ha risolto il nostro. fai clic su Target> Impostazioni build> firma codice> debug> fai clic sul menu a discesa per IPHONE DVELOPER> e non scegliere la selezione automatica prova ciascuno degli altri ID sviluppatore collegati all'altra squadra * PP's
brian.clear

1
questa dovrebbe essere la risposta corretta ... ha senso poiché il dispositivo non viene aggiunto nel profilo di provisioning effettivo ....
Calleth "Sion",

se si tenta di eseguire un profilo con firma del codice a cui non viene aggiunto il dispositivo corrente, si otterrà lo stesso errore esatto (ad esempio, ciò potrebbe accadere quando si passa dal debug al rilascio)
kritzikratzi

1
@ChrisConway Sì, ma la risposta contrassegnata non spiega il perché del problema ... sta solo facendo un intero processo senza sapere il perché;)
Calleth "Sion",

18

Finalmente ho potuto risolvere il problema. Uno dei miei colleghi ha revocato il certificato dello sviluppatore sul portale di provisioning iOS per le sue app di prova. per il fissaggio; ho rimosso il certificato sviluppatore esistente sul mio portachiavi, ho richiesto un nuovo certificato con la chiave privata esistente, revocato il certificato dal portale di provisioning e inviato il certificato appena richiesto. Quindi l'ho scaricato e installato.

ora posso eseguire il debug della mia app sul mio dispositivo :)


Una delle cause potrebbe essere il tuo "progetto => Impostazioni di costruzione => Firma => Team di sviluppo" è diverso dal tuo "target => Impostazioni di costruzione => Firma => Team di sviluppo",
rendili

16

Questo mi ha sorpreso perché qualcuno aveva modificato l'impostazione "Build Configuration" della configurazione "Run" su "Release" (in "Product"> "Edit Scheme .."> "Run * .app").

Questo è normalmente impostato su "Debug" e quindi NON utilizzava il certificato dello sviluppatore e il profilo di provisioning che mi aspettavo, utilizzava invece i certificati di distribuzione.

Inoltre, ho scoperto che, se cerchi nel registro della console il dispositivo (tramite Organizer), potrebbe esserci un codice di errore che indica meglio il tuo problema. Ad esempio ho avuto ...

Mon Sep  5 09:39:56 unknown installd[304] <Error>: profile not valid: 0xe8008012

Ho quindi cercato su Google "0xe8008012" e ho ottenuto la pagina seguente che indica un errore "0xE8008012 - L'UUID del dispositivo non corrisponde a nessuno nel profilo di provisioning caricato".

MobileInstallation


Oggi hai salvato una vita! Grazie.
Okhan Okbay,

15
  • Xcode->Click your app -> TARGETS -> click the app-> Build Setting-> Code Signing: Assicurati che Debug e Any iOS SDK siano impostati su Sviluppo iPhone

  • Xcode -> Product -> Scheme -> Edit Scheme: Assicurarsi che Build Configuration sia impostato su Debug .


questo non è per la distribuzione.
Curnelious

Per chiarire aggiungerei che dovresti impostare Build configuration su Debug per Run(e di solito anche per Teste Analyze). Archivedovrebbe generalmente essere Release , altrimenti la tua distribuzione verrà incasinata.
Aron,

13

Nel mio caso questo problema si è verificato perché è stato selezionato un altro profilo di provisioning per i test unitari. Mi ci sono volute solo ore per trovare questo ...


@IeMale Mi hai salvato la giornata!
stavros.zavrakas il

13

Ho avuto lo stesso problema con Xcode 10.0 beta 5 (10L221o) e un dispositivo con iOS 12.0 (16A5345f) - anche questa è beta.

Dopo aver installato l'avviso sull'app intitolato "Installazione app non riuscita", viene visualizzato il messaggio "Impossibile trovare un profilo di provisioning valido per questo eseguibile".

Me ne sono sbarazzato andando a: ~/Library/MobileDevice/Provisioning Profilese trovando il certificato che Xcode stava cercando di usare. Quindi nella finestra "Dispositivi e simulatori" in Xcode, ho fatto clic con il pulsante destro del mouse sul mio dispositivo, ho scelto "Mostra profili di provisioning" e con un pulsante più ho aggiunto il profilo di provisioning al dispositivo lì.

Non ricordo quando l'ho fatto l'ultima volta, sono passati anni. Immagino che Xcode lo faccia normalmente per noi, ma per qualche ragione non riesce quando vediamo quel messaggio.


Ho avuto lo stesso problema e questo lavoro per me. Grazie.
Pat

10

Con Xcode 6 e un nuovo dispositivo:

  1. Premi cmd + maiusc + 2 per aprire i dispositivi. aggiungi dispositivo in xcode
  2. Premere il pulsante "registra dispositivo". Se non esiste un pulsante simile (come nello screenshot), vai su developer.apple.com e aggiungilo manualmente. Copia l'identificatore nel campo. aggiungi dispositivo sul portale
  3. Vai su Xcode -> Preferenze -> Account -> Fai doppio clic sul tuo account -> Premi il piccolo pulsante di aggiornamento in basso a sinistra per aggiornare i profili aggiorna i profili
  4. Vai a Code Signing e imposta i nuovi profili. impostare i profili

Non dimenticare di impostare Provisioning Profilesu Automatico o il Profilo specifico se sai quale sia, altrimenti xCodegestirà la selezione del Profilo corretto.
Alex Cio,

Nel mio caso, ho dovuto confermare l'accettazione degli stessi dispositivi per un nuovo anno di licenza per sviluppatori, quindi rimuovere i profili di provisioning e scaricarli di nuovo.
Dmitry

7

Possiamo provare questo: questo ha risolto il mio problema. Devi reimpostare il profilo per il quale l'ID del tuo dispositivo è stato aggiunto alla tua area membro di Apple.com. .inserisci qui la descrizione dell'immagine


6

Supponendo che il certificato di sviluppo e distribuzione sia installato correttamente:

In Progetto, l'identità della firma del codice principale dovrebbe essere il profilo dello sviluppatore per quell'app.

In Target la tua identità di firma del codice principale dovrebbe essere il profilo di distribuzione per quell'app, tranne per il fatto che dovresti modificare Debug> Any SDK iOS nel tuo profilo di sviluppo ... e assicurati che Release> Any SDK iOS sia il tuo profilo di distribuzione. Questo dovrebbe essere compilato ed eseguito sul telefono con provisioning e archiviato senza alcun avviso di firma del codice.

L'unica cosa che ha funzionato per me quando il mio telefono si è bloccato e ho dovuto ripristinarlo da una precedente immagine di iTunes.


6

Questa soluzione ha funzionato per me

  1. Vai a Xcode -> Preferenze -> Account.
  2. Nella sezione dei profili di provisioning, fai clic con il pulsante destro del mouse e apri con finder.
  3. Elimina tutti i profili di provisioning dalla cartella dei profili di provisioning.
  4. Infine, torna a Xcode e fai clic sul pulsante Aggiorna.

Spero che aiuti!


ulteriori informazioni, nel suo unico progetto corrente interessato, è sufficiente eliminare il relativo file di provisioning, dovrebbe avere lo stesso nome con il nome del progetto.
Bhimbim,

4

Ho avuto lo stesso problema. quello che ho fatto è: 1. pulire l'obiettivo 2. uscire da xcode 3. riavviare xcode 4. ricostruire.
e ha funzionato.


Anch'io. Tutto ciò di cui avevo bisogno era un riavvio.
Roshambo,

3

Un'altra causa (verificata):

  1. Apple ha un grosso bug in Xcode che risale alla versione 3.x, dove sovrascrive magicamente il portachiavi di OS X con un portachiavi falso all'interno di Xcode, reinstallando certs (e chiavi private!) Che hai già eliminato

  2. ... quindi, se hai "new cert" installato e nient'altro, Xcode a volte entrerà in un ciclo infinito dove continuerà anche a installare "old cert" (che non esiste da nessuna parte tranne che all'interno di XCode!).

  3. ... e a causa di UN ALTRO bug in Xcode (non risolto da oltre 3 anni ...), Xcode a volte seleziona automaticamente il "certificato più vecchio che riesco a trovare" (che, per definizione, non è corretto - penso che qualcuno di Apple si sia mischiato tra "più vecchio" e "più nuovo" :()

  4. ... e ANCHE PENSANDO che tu abbia selezionato il profilo di provisioning corretto, Xcode invia il "vecchio" profilo di provisioning al dispositivo, quindi firma con il "nuovo" profilo, causando questo errore

Soluzione: devi annullare la FUBAR di Xcode FUBAR del tuo portachiavi.

Questo è più difficile di quanto sembri (ci sono più post SO su questo argomento): comporta più riavvii della macchina, eliminando la chiave ogni volta.

Alla fine, Xcode rinuncia a corrompere il tuo sistema operativo e accetta la realtà con cui lo presenti :).


OK - dopo innumerevoli ore di lettura di forum, aiuto con Apple e armeggiare, devo essere d'accordo: XCode è il colpevole
AlexVPerl

3

Nel mio caso un file di provisioning valido è perché non ho aggiunto il dispositivo al file di provisioning.


3

La modifica del profilo di provisioning in automatico, quindi l'esecuzione di Xcode ha richiesto di "risolvere" il problema. Quindi sono tornato al mio profilo di provisioning originale e tutto ha funzionato bene.


3

Ho avuto lo stesso problema. La mia soluzione è stata molto semplice. Ho controllato Se ho l'UDID del mio dispositivo in developer.apple.com ed era assente. Dopo averlo aggiunto, inizia a funzionare. È molto fastidioso che gli sviluppatori Apple riportino l'errore "Non è stato trovato un profilo di provisioning valido per questo eseguibile" anziché "UDID non trovato". In realtà l'ho menzionato per primo in XCode 6 ...


2

Nel mio caso, è stato il problema quando ho impostato l'ora manualmente due mesi prima sul mio iPhone. Ma quando ho cambiato per impostare automaticamente l'ora, ha funzionato bene.

Setting-> General-> Date & Time->set time automatically

Se non funziona automaticamente, impostare l'ora sia su Mac che su iPhone, funzionerà bene.


1

Rimuovere il certificato, i profili e ricrearlo. Installalo. Questa è l'anima migliore.


1

Nella mia esperienza questo problema si verifica se si tenta di creare un dispositivo non registrato nel centro per sviluppatori o non abilitato nel profilo di provisioning in uso.

1) Aggiungi il dispositivo al centro per sviluppatori. In XCode 5 troverai ancora un pulsante "aggiungi al centro membri" all'interno della finestra Organizer. In XCode 6 suggerisco di copiare l'ID del dispositivo e aggiungerlo manualmente alla sezione del dispositivo del centro membri.

2) Modifica il profilo di provisioning che stai utilizzando per includere il dispositivo che hai appena aggiunto. Salvare e sincronizzare i profili di provisioning da XCode.

Pulito ed è acceso.


1

Una delle cause potrebbe essere il tuo "progetto => Impostazioni di costruzione => Firma => Team di sviluppo" è diverso dal tuo "target => Impostazioni di costruzione => Firma => Team di sviluppo", rendili uguali


0

Avevo un certificato scaduto (che ha generato l'errore).
Passaggio 1. Vai su developer.apple.com, accedi e vai al portale di provisioning IOS

Passaggio 2. Vai ai certificati (che ora è vuoto) e segui le istruzioni elencate per creare un nuovo certificato (apri il portachiavi sul tuo computer, crea una richiesta di firma, salvala su disco, caricala su Apple)

Passaggio 3. Scarica e installa i file creati da Apple sul tuo portachiavi

Passaggio 4. Problema: tutti i profili di provisioning precedenti erano associati al certificato OLD, quindi è necessario tornare a developer.apple.com-> Portale di provisioning IOS-> profili di provisioning e 'modificare' ogni profilo a cui tieni. Vedrai che la tua identità non è più assicurata dal profilo, quindi fai clic sulla casella di controllo

Passaggio 5. Scarica tutti i profili modificati

Passaggio 6. Collegare il telefono e trascinare e rilasciare il file .mobileprovision sull'icona xcode nella barra del dock per installarli sul dispositivo


0

Ho riscontrato questo problema perché avevo ottenuto un nuovo Mac e utilizzavo ancora il mio vecchio certificato di computer. Avevo creato un nuovo certificato per il nuovo Mac, ma avevo entrambi i certificati nel mio portachiavi.

Nell'Organizer, il profilo avvisava che "XCode non è riuscito a trovare una coppia chiave privata / certificato valida per questo profilo nel tuo portachiavi" anche se il vecchio certificato esisteva nel mio Portachiavi.

La soluzione era eliminare il vecchio certificato dal mio Portachiavi ed eliminare / revocare tutti i profili che utilizzavano questo vecchio certificato. Quindi creare un nuovo profilo con il nuovo certificato e utilizzarlo.

Spero che questo ti aiuti!


0

Portando un'app da Xcode 3 a 4.3, ho scoperto che il nome del bundle e l'identificatore del bundle dovevano essere impostati in modo da corrispondere all'AppId. Se tutto il resto fallisce, provalo.


0

Ho riscontrato lo stesso problema e potrebbero esserci anche altri motivi:

While testing i set my date to some future date and profile got expired. As result this issue was generated.

But i solved by setting date of iphone to current date as a result profile was not expired. 

0

Sto compilando la mia app in Adobe Air per iOS, non Xcode. Stavo cercando di copiare il .ipa usando iTunes e ho ricevuto un misterioso messaggio "Errore durante l'installazione dell'app". Solo quando ho usato l'iPhone Configuration Utility (iCU) ho ricevuto il vero messaggio di errore.

Il problema era che stavo compilando l'app con un profilo di provisioning per la distribuzione ad hoc e un certificato per lo sviluppo . Non ho capito che esistono 2 tipi di certificati e 2 tipi di profili di provisioning. Ce n'è uno per lo sviluppo e uno per la distribuzione. Se non corrispondono ... allora ricevi quel messaggio di errore. È ovvio quando lo capisci ...

La soluzione era scaricare il certificato di distribuzione (.cer), fare doppio clic per aprire in Keychain ed esportarlo direttamente come P12 da KC. Quindi utilizzare quel certificato di distribuzione P12 nelle impostazioni di pubblicazione (Flash IDE o Flash builder) e utilizzare anche il profilo di provisioning utilizzato per la distribuzione ad hoc (.mobileprovision). Quindi installa infine il profilo di provisioning e il file .ipa utilizzando l'utilità di configurazione iPhone.

Che ha fatto per me.


0

Nel mio caso il mio profilo di provisioning non era valido perché apple ha modificato alcuni dei suoi termini e condizioni. Per risolvere il problema ho dovuto

  1. elimina il profilo precedente.
  2. Ho dovuto accettare termini e condizioni da questo sito Web di Apple.

0

Fai clic sulla tua app da Xcode in Target. (Sotto progetto.) Qui puoi vedere le informazioni di riepilogo, le impostazioni di compilazione, le fasi di compilazione, le regole di compilazione.

Va bene, vai su Build Settings. Passa alla firma del codice.

Vedi che hai due campi Debug e Release. Hai due profili tra cui scegliere in ciascuno di questi campi, Distribuzione e sviluppo.

Lascia che la distribuzione sia quella del campo Release. Lascia che lo sviluppo sia quello del campo Debug.

In questo modo il problema è stato risolto e il messaggio di errore è scomparso. Ora posso eseguire bene la mia applicazione.


0

Ho avuto questo problema anche con Xcode 5.0.1. Un bel giorno l'applicazione semplicemente non voleva essere installata sul dispositivo sul quale è stata installata cinque minuti fa senza problemi.

Ho provato a pulire le impostazioni, eliminare i dati derivati, ricreare profili di provisioning, firmare con altri certificati / profili, rimuovere il dispositivo dall'organizzatore, ecc.

Infine, ho ripristinato il contenuto e le impostazioni del mio dispositivo e ho creato con successo il mio progetto con vecchi profili, certificati e ID bundle.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.