I diritti specificati ... profilo. (0xE8008016). Errore iOS 4.2


142

Ricevo l'errore "temuto" The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile. (0xE8008016).quando provo a distribuire la mia prima app su un dispositivo senza jailbreak su iOS 4.2.6 (Verizon). Il fatto è che non ne ho uno Entitlements filenel mio progetto, in quanto non lo sto distribuendo affatto, lo sto solo mettendo su un dispositivo. Ho attraversato tutti i cerchi e gli anelli che apple ti sottopone (certificato, dispositivo, approvvigionamento) fino alla lettera e non riesco a capire cosa non va.

Qualcuno può aiutarmi per favore con questo problema?



15
È strano, ho un downvote. La persona che lo ha fatto potrebbe spiegare per favore?
Richard J. Ross III,

Questa domanda mi ha veramente aiutato perché si è scoperto che ho fatto avere un file diritti (e si citano mi ha fatto consapevole di questo). La rimozione del riferimento in Build Settings > Code Signing > Code Signing Entitlementsmi ha permesso di costruire questo progetto.
Geoff,

Risposte:


64

Ho appena riscontrato questo problema da solo, il problema era che avevo un file Entitlements.plist nel progetto come parte di una distribuzione ad hoc e la sua proprietà get-task-allow (cioè. 'Può essere debugged') era impostata su NO - impostandolo su YES è stato risolto il problema e consentito l'esecuzione dell'app da Xcode4 sul dispositivo in fase di sviluppo.

Naturalmente è necessario riportarlo su NO per le distribuzioni ad hoc, ma ho pensato di menzionarlo nel caso in cui qualcuno dovesse riscontrare lo stesso problema.


Grazie - questo finalmente risolto il mio problema.
EasyCoder

Grazie! Mi stava uccidendo.
alan

"get-task-allow = NO" ha fatto in modo che la mia app vedesse iCloud, quando distribuita come AdHoc ipa.
Tertium,

7
A proposito, controlla di aver specificato l'identità corretta del segno esattamente in Target -> Impostazioni di costruzione , non in Progetto . Il target ha la precedenza sul progetto . Mi sono dimenticato di questo e ho ricevuto il messaggio di errore 0xE8008016.
Tertium,

Ancora una cosa, se l'app utilizza "Archivio valori-chiave iCloud" nei diritti, è necessario rimuovere questa chiave per la versione di debug. Altrimenti l'app non funzionerà sul tuo dispositivo e continuerà a dare questo errore anche se 'get-task-allow' è impostato su YES.
Strangetimes

50

Ho avuto questo problema con Xcode 4.2.1.

Per me non aveva nulla a che fare con il file Entitlements o Ad-hoc ...

Stavo tornando a un vecchio progetto e avevo dimenticato di aggiungere il mio nuovo iPhone alla disposizione.

Errore sciocco, ma anche un messaggio di errore corrispondente sciocco ...: - /


7
Errore sciocco che apparentemente abbiamo fatto entrambi.
Patrick Bassut,

5
Vorrei poter +2, che ridicolo messaggio di errore per questo problema. Avrei cercato per ore se non fosse stato per il tuo post.
Wesley Smith,

Grazie per averlo indicato, anch'io ho fatto questo stupido errore. finalmente risolto.
Gaurav,

44

Se si utilizza la funzione Reazione nativa, assicurarsi che la destinazione Test abbia lo stesso profilo di provisioning di quello principale.


3
Grazie mille, mi hai salvato la giornata
Julien Athomas il

Mi hai salvato la pancetta
Theo Bendixson l'

Grazie mille. Mi hai salvato la giornata. :)
pratik,

Sono stato come un'ora a combattere questo fino a quando ho visto il tuo commento, grazie !!
Ivmos,

Ero morto dentro finché non ho incontrato questo commento.
Cane

29

Ho avuto questo problema con i diritti iCloud. Il mio problema era che avevo dimenticato di abilitare iCloud per il mio ID app nel portale di provisioning.

Dopo aver abilitato iCloud per l'ID app, dovrai ricreare i profili di provisioning.


1
Ho avuto questo errore accadere di nuovo a me. Avevo bisogno di aggiungere il mio nuovo dispositivo al profilo di provisioning di sviluppo, quindi aggiornare l'elenco in Xcode.
adjwilli,

Aveva lo stesso problema. Il che è strano, perché questa app è stata abilitata e funzionava per la distribuzione ad hoc in precedenza.
Raeldor,

Ho avuto un problema di diritti relativi a iCloud, poiché la mia app stava accedendo ai documenti iCloud. Ho dovuto aggiornare i diritti di iCloud nella sezione Funzionalità.
user3300864,

20

Conservare il file dei diritti in Destinazione> Impostazioni di costruzione> Firma codice> Diritti firma codice.

Vai su Target> Funzionalità. Attiva / Disattiva o Disattiva / Attiva una delle funzionalità.

Correre.


Questo ha funzionato per me. ma di nuovo devo selezionare il profilo di provisioning nella pagina delle impostazioni di compilazione.
Rinku,

1
Questo ha funzionato per me. I domini associati sono stati attivati ​​per me. L'ho disattivato e il problema è stato risolto.
BigRon,

19

Quello che ha funzionato per me è stato quello di eliminare completamente il file dei diritti, dall'elenco dei gruppi e dalle Impostazioni di costruzione sia in Progetto che in Destinazione. Quindi ho ricreato i diritti dalla scheda Riepilogo nella destinazione e si è caricato correttamente senza alcun messaggio di errore.


Come indicato sopra, il valore di Titolarità deve essere eliminato manualmente anche in Impostazioni build
petershine

1
cancellare il file dei diritti e aggiungerlo di nuovo ha funzionato per me - ho fatto anche una pulizia
Jasper

Questa era la mia chiave qui! Ho controllato sia le impostazioni di build del progetto che quelle di destinazione. Nella sezione Firma codice c'è un'impostazione "Diritti firma codice": ho ampliato, evidenziato sia le righe di debug che di rilascio e premuto il tasto Elimina. Ciò ha quindi permesso alla mia app di essere costruita senza errori. Tuttavia, non eseguirà ancora il debug: esce immediatamente con un messaggio nella console, dovrò cercarlo.
Jay Imerman,

1
Questo ha funzionato anche quando si è tentato di eseguire l'app "fit" di HealthKit per iOS8: nel file dei diritti era presente una stringa identificativa aggiuntiva. Rimuovendolo, è stato possibile eseguire il progetto dopo aver seguito gli altri passaggi indicati in questo thread
Alex Stone,

Questo risolto il mio problema con iCloud. Sembra che ci fossero un paio di impostazioni extra nel file Entitlements che non avevano bisogno di essere lì. L'eliminazione di tutti e tutti e la ricostruzione della scheda Generale ha funzionato.
AndyDunn,

15

Sto solo mettendo i miei 5 centesimi qui. Per me nessuna delle precedenti ha funzionato, quindi sono stata costretta a stressarmi ea guardare ogni parte del processo con occhi nuovi.

Nel correre questo ho dimenticato che stavo cercando di installare la mia app su un dispositivo completamente nuovo.

Quindi il mio errore è stato che non avevo aggiornato il mio profilo di provisioning spuntando il mio nuovo dispositivo nella sezione "Dispositivi" della configurazione del profilo di provisioning nel Portale di provisioning.

Apparentemente, non includere il dispositivo nel profilo di provisioning genera anche questo messaggio di errore.


Accetto: se non hai il profilo di provisioning corretto, puoi ottenere questo errore.
Matt,

12

Nessuna delle molte risposte ha corretto l'errore 0xE8008016 per me.

Ma quando ho scelto "Provisioning dispositivo automatico" in Xcode 4> Organizer> Dispositivi> Profili di provisioning, alla fine ha funzionato.


1
Quelle rocce! Ha funzionato anche per me. Penso che sia stata una combinazione di tutto quanto sopra, poiché l'app è stata originariamente sviluppata con XCode 3, quindi portata a 4.2, ho rimosso il file Entitlements.plist dal progetto, cancellato la voce dei diritti di firma del codice in Build Settings / Code Sezione di firma, quindi impostare il profilo di provisioning su automatico. L'ultimo l'ha fatto.
Jay Imerman,

Anche questo era il mio problema, tranne per il fatto che stava selezionando automaticamente il profilo di provisioning errato e selezionando manualmente quello corretto il problema è stato risolto.
Abhi Beckert,

1
Che ha fatto per me. Non sono sicuro di come siano stati rimossi alcuni profili di provisioning del team di sviluppatori iOS, ma facendo clic su Aggiorna nella pagina Profili di provisioning a cui ti riferisci per aver risolto questo errore per me.
sean808080,

11

Nel mio caso è stato uno stupido errore. Ho erroneamente impostato lo schema "Esegui" per utilizzare la configurazione di build "Distribuzione" anziché quella "Debug" o "Rilascio". Stupido errore, ma ci è voluto un po 'di tempo per eseguire il debug, quindi aggiungerò la mia risposta per migliorare la base di conoscenza all'interno dello stack overflow!


10

Elimina i profili di provisioning, esegui un 'Clean All', assicurati che le impostazioni di provisioning siano corrette, riscaricala e prova a eseguire di nuovo.


Quale versione di Xcode stai usando? Se è 4.0, ci sono stati problemi con questo. Potrebbe essere necessario riavviare Xcode o persino riavviare il Mac. Assicurarsi che le impostazioni di provisioning siano corrette sia nel progetto che nella destinazione. L'impostazione del target ha comunque la precedenza sul Progetto.
W Dyson,

Penso che sia un problema con il dispositivo, è un iPhone 4 di Verizon e con lo stesso profilo di provisioning, posso distribuire un'app sul mio iPad .. Qualcun altro ha avuto questo problema con un iPhone 4 di Verizon?
Richard J. Ross III,

Stai utilizzando un vecchio profilo di provisioning? Devi aggiungere l'iPhone di Verizon come dispositivo nel portale di provisioning, quindi aggiornare il profilo di sviluppo, scaricare di nuovo e reinstallare il nuovo profilo. Se non funziona, dovrai fornire ulteriori informazioni.
W Dyson,

Ho appena impostato il profilo di provisioning ieri, come potrebbe essere vecchio? apple ha appena ratificato la mia richiesta di sviluppatore, quindi era nuovo di zecca. Ad ogni modo, vedrò come funziona quando eseguiamo l'aggiornamento a iOS 4.3.
Richard J. Ross III,

Un 'pulito' l'ha fatto per me. -_-
Cœur

5
  1. Apri "Portale di provisioning iOS" in Safari.
  2. Tocca "Dispositivi" nella barra laterale.
  3. Registra l'UDID del tuo dispositivo
  4. Tocca "Profili di provisioning"
  5. Modifica il profilo delle tue app.
  6. Seleziona il dispositivo che hai appena aggiunto.
  7. Scarica il file .mobileprovision.
  8. Installalo.
  9. Costruisci di nuovo.

4

Ho avuto lo stesso problema nella mia app, dopo qualche mese questa app specifica ha funzionato bene.

Il problema era che le funzionalità configurate nel mio progetto Xcode (in Target -> {ProjectName} -> Funzionalità) non erano le stesse delle funzionalità configurate nel profilo di provisioning (puoi verificare che nel centro membri Apple sotto Identificatore -> App Ids -> {ID della tua app} Nel centro membri ho visto che Game Center è abilitato e quindi nel mio progetto ho anche abilitato Game Center, quindi l'app è stata in grado di avviarsi.

Non so come abbia funzionato fino ad ora. Questo è ancora un mistero :)


Ora ho capito che le notifiche push non funzionano più. Ho rimosso le funzionalità di Game Center in Xcode. L'app ora funziona, ma le notifiche push non arrivano più. Qualcuno sa perché?
bobsacameno,

4

Per me selezionare l'opzione "Gestisci automaticamente la firma" in Target per risolvere il problema!



3

Se non hai modificato nulla relativo ai certificati (non li hai sostituiti o aggiornati), fai semplicemente un Product -> Clean. Mi ha aiutato più volte. (Xcode 6.2)


2

L'aggiornamento a XCode 4 ha risolto il problema.


1
Non sembra essere un problema specifico della versione di XCode, poiché ho riscontrato l'errore in XCode 7.3.1. Ho dovuto eliminare il profilo di provisioning e scaricare di nuovo lo stesso dalle preferenze di XCode per risolvere il problema.
Ian Pinto,

@IanPinto Sono d'accordo. Il motivo principale per cui questa è la risposta accettata è perché questo è ciò che ha funzionato per me . Non sono più informazioni davvero super utili, e ho votato la maggior parte delle altre risposte in questo post, poiché contengono tutte informazioni super preziose per le persone che guardano a questo in futuro. La cosa positiva delle risposte automatiche su SO è che non vengono automaticamente spinte in cima allo stack, quindi non molte persone vedranno questa risposta, comunque :)
Richard J. Ross III,

2

Oggi ho riscontrato questo problema e mi stavo togliendo i capelli cercando di capirlo. Come molte persone qui, funzionerebbe se rimuovessi le opzioni di iCloud nel mio file di diritti. Quando andrei a eseguire il debug dell'app con le opzioni iCloud abilitate, visualizzerei l'errore 0xe8008016. Questo è stato subito dopo la revoca e la rigenerazione di nuovi certificati.

Quindi quello che ho risolto per me è stato attivare il supporto iCloud per il profilo del team Xcode generato automaticamente. Accedi allo strumento di provisioning online, vai a App IDs, fai clic su Xcode iOS Wildcard App ID, fai clic su edit, abilita iCloud selezionando la casella di controllo e infine facendo clic Done. Aggiorna i tuoi profili in Xcode e poi inizierà a funzionare.

Questo ha un senso: quando esegui il debug per impostazione predefinita il profilo del team e il profilo del team devono avere iCloud attivato.


1
SÌ! Quello era il mio problema e abilitare iCloud sull'ID Tutte le app ha funzionato. Grazie mille
Guy Moreillon,

2

Mi è successo quando stavo tentando di utilizzare un profilo di provisioning di distribuzione dell'app store per un test locale per errore. Quando ho usato il profilo di sviluppo corretto ha funzionato bene. Forse questo aiuta anche qualcuno.


cosa posso fare se voglio testare il profilo dell'app che è stata caricata sull'App Store? c'è un modo per farlo?
bobsacameno,

2

Questo ha funzionato per me ...

  1. Ho eliminato il Entitlementsfile dal target.
  2. Ho eliminato l'app da tutti i miei dispositivi
  3. Cleaned la build in Xcode
  4. * facoltativo eliminare il profilo di provisioning e aggiungerlo nuovamente

Spero che funzioni anche per voi ragazzi :)


eliminato il file Entitlements dalla destinazione, funziona per me. Ma non se questo è il modo migliore per farlo.
YuAn Shaolin Maculelê Lai

2

Questo è ciò che ha risolto il mio problema: l'eliminazione del percorso nella sezione Diritti di firma codice delle impostazioni di compilazione Target.


Una spiegazione "come" per favore?
Agente Zebra,

@AgentZebra Fai clic sul file principale del progetto> scegli la tua app da "Target"> Impostazioni build> Firma> Diritti firma codice, elimina il valore mostrato lì.
Weienw,

2

Il mio profilo di provisioning dallo sviluppatore Apple corrispondeva alle mie capacità Xcode ma non si sarebbe ancora integrato nel mio dispositivo fino a quando non avessi fatto quanto segue:

  1. Rimuovi / Elimina il file dei diritti dal tuo progetto Xcode.

  2. Torna alla scheda Funzionalità Xcode

  3. Premi il pulsante "Risolvi problema" per ottenere Xcode per aggiungere nuovamente il file dei diritti.

Ha funzionato per me, spero che aiuti qualcuno.


2

Mi è successo su Xcode 8, in parte è stato causato dalla nuova Provisioning Profileimpostazione di build, in quanto in questa versione di Xcode ci sono due voci per il profilo di provisioning:

  • Profilo di provisioning
  • Profilo di provisioning (obsoleto)

La mia colpa è stata che ho aggiornato solo il primo e la voce obsoleta puntava ancora a un profilo di provisioning non valido. La modifica di entrambi allo stesso valore ha risolto il problema (l'eliminazione della voce obsoleta dovrebbe avere lo stesso effetto).


1

Nel mio caso, sembra che Xcode (segretamente) ripristini lo schema. Ho scoperto che la configurazione di build per Archive era impostata su Release anziché su una di distribuzione e, dopo averla cambiata in quella corretta, ha funzionato.

Penso che sia meglio controllare gli schemi e le impostazioni di compilazione.


1

Avevo un vecchio progetto e lo stesso problema e ho risolto.

1. Vai al sommario
2.Summary ha gruppi di portachiavi ed elimina l'oggetto dei gruppi di portachiavi.

Spero che funzionerà per te. Saluti.


1

sto usando xcode 6 e ho riscontrato questo problema per un particolare iPhone 4

infine, vado su device => provision profile =>

e quindi aggiungere il profilo manualmente e il problema è stato risolto.


1

Per me in Xcode 5.1 stavo ottenendo The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile.quando provavo a testare l'app sul mio dispositivo. Il certificato di sviluppo del dispositivo deve scadere febbraio 2015.

Il problema è stato risolto:

Selezionato Target->Capabilities, sotto GameCenter, qui stavo ottenendo un errore sul diritto GameCenter poiché non era stato aggiunto al progetto, anche se la prima versione dell'applicazione era stata rilasciata tramite lo stesso XCode 5.1 ma non c'erano errori come questo prima.

Sotto, è stato dato un pulsante con il titolo Fix Issue. Quando si fa clic, viene aggiunto il diritto GameCenter e il problema è stato risolto.

Dopo i reparti lo schermo appare come:

inserisci qui la descrizione dell'immagine

Per me, non c'era nulla a che fare con il certificato. L'app ora funziona correttamente sul dispositivo.


1

Un altro potenziale problema che genererà questo messaggio di errore: se stai utilizzando un profilo di provisioning perfettamente valido per la tua app principale, ma hai un profilo di provisioning scaduto o altrimenti non valido per l'estensione del widget Today. Immagino che sarebbe lo stesso anche per un'estensione per Apple Watch.

Controlla tutti i profili!


1

Controlla l'accesso KeyChain!

Nel mio caso stavo usando il certificato di distribuzione errato associato al profilo di provisioning.


1

Il codice su cui stavo lavorando aveva un bundleid diverso nella finestra Info che nell'impostazione Product Bundle Identifierbuild.

Ho trovato questo perché ho notato questo messaggio nella console del dispositivo nella vista dei dispositivi:

MIS: entitlement 'application-identifier' has value not permitted by provisioning profile 'iOS Team Provisioning Profile: com.xxx.yyy'


0

Se stai provando ad attivare la sincronizzazione di iCloud, dovrai abilitare iCloud per l'AppID utilizzato per creare il profilo di provisioning di sviluppo (che Xcode esegue automaticamente). Dovrai anche abilitare questo anche per i profili di distribuzione.

La parte difficile è che quando si aggiornano i profili in Xcode, ciò non attiva un rinnovo dei profili; sono semplicemente riscaricati. Quindi nel tuo portale di provisioning iOS in Provisioning / Sviluppo, dovrai controllare il profilo etichettato (gestito da Xcode) ed eliminarlo (pulsante Rimuovi selezionato). Fallo per TUTTI i profili, sviluppo e distribuzione, che devi rigenerare.

Ora, in Xcode in Organizer, elimina i profili di provisioning che stai per sostituire.

Ora per averne di nuovi. Se sviluppi per più di un team e desideri aggiornarne solo uno in particolare, seleziona il Team appropriato nel riquadro di sinistra in SQUADRE, altrimenti seleziona Provisioning Profile in LIBRARY, quindi seleziona Aggiorna.

Infine, rimuovi tutti i vecchi profili di provisioning sul tuo dispositivo che potrebbero entrare in conflitto con quelli nuovi poiché i profili non vengono mai eliminati automaticamente; i profili più recenti vengono semplicemente aggiunti all'elenco.

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.