Codesign errore: Provisioning profilo non può essere trovato dopo l'eliminazione profilo scaduto

StackOverflow https://stackoverflow.com/questions/1760518

Domanda

Ho cercato di ricostruire un app che stava lavorando proprio ieri. Ha ottenuto un messaggio che un profilo era scaduto, quindi ho rimosso da iPod e da iTunes. Quando ho scelto un nuovo profilo (uno con un * nella identificazione), ora ottengo un errore:

  

Codice Segno di errore:. Provisioning Profilo (lunga serie) non può essere trovato

Che cosa mi manca? Ho guardato attraverso domande relative e non ho visto questo scenario già.

È stato utile?

Soluzione

A volte il file di progetto Xcode viene incasinato, soprattutto se si dispone di un vecchio progetto e il primo stato creato con una versione precedente di Xcode / iPhone SDK. Quello che dovete fare è aprire il file di progetto in un editor di testo, cercare la 'lunga serie' dal di errore e cancellare manualmente quella linea. In realtà, si dovrebbe solo andare avanti e cancellare qualsiasi linea che punta a eventuali profili di provisioning. Quindi riaprire il progetto in Xcode, andare alle impostazioni e selezionare di nuovo il nuovo profilo. Questo chiarisce questioni come che la maggior parte del tempo. Le linee che puntano ai profili di provisioning sarà simile a questo:

PROVISIONING_PROFILE = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";

Altri suggerimenti

Ecco una soluzione semplice che ha funzionato per me e che non richiede la modifica manuale del file di progetto:

In XCode, nel riquadro "Gruppi & Files", espandere "bersagli" e fare doppio clic sul bersaglio della tua app. Questo porta in primo piano il pannello Info per la destinazione. Nella sezione "Build", controllare la sezione "firma del codice" per tutti i vecchi profili e sostituirlo con quello corretto.

Si noti che questo è diverso da un doppio clic sull'icona del progetto e cambiando il profilo da lì. Piuttosto sorprendente:)

Ori

  1. Project & Targets Proprietà -> "Non Codice segno" -> OK -> cmd + S (o cmd + B);
  2. Project & Targets Proprietà -> "la vostra disposizione Profilo" -> OK

  3. Tutto funziona di nuovo!

Sono d'accordo con la risposta di Brad, che è possibile risolvere questo problema modificando il tuo target / progetto a mano, cancellando tutte le linee in questo modo:

PROVISIONING_PROFILE = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";

Tuttavia, in Xcode 4.2 e versioni successive, c'è un modo molto più semplice per accedere a questo testo e selezionare ed eliminarlo. Nella navigazione di progetto a sinistra, selezionare il progetto (la linea più alta del Navigatore progetto). Ora basta scegliere Visualizza> Versione Editor> Visualizza la versione Editor. Ciò visualizza il progetto come testo, e si può cercare per il provisioning e cancellare la linea fastidioso, proprio lì nel riquadro dell'editor di Xcode.

appena visto una variazione su questo tema: sono andato nel file project.pbxproj come da note di Brad Smith di cui sopra, tranne che in questo caso tutte le linee PROVISIONING_PROFILE sembrava essere corretto, senza occorrenza della stringa di profilo "cattivo" che XCode non riusciva a trovare.

Tuttavia, la correzione è stata la stessa: l'eliminazione di tutte le linee PROVISIONING_PROFILE in project.pbxproj, anche se sembravano "buono", in teoria, e quindi riaprire il progetto in XCode

.

Per ottenere la soluzione di Brad interamente in Terminale, usare questi comandi

  1. cd [Xcode project parent]
  2. vi [Xcode project name].xcodeproj/project.pbxproj
  3. /[offending provisioning profile] [Enter]
  4. dd - cancellare l'intera riga
  5. Premere n fino a quando non sono più trovati
  6. Ctrl + x per salvare e chiudere

Nel mio caso il problema è stato risolto con l'apertura di Finestra -> Organizer, selezionare il dispositivo e la rimozione della vecchia provisioning profilo sotto il pannello "Provisioning" a destra. Il vecchio è stato già contrassegnato con un simbolo rosso "x", ma l'iPhone è stato ancora utilizzando.

Oltre a questo profilo, anche quello nuovo stava rivelando (con lo stesso nome) e dopo semplicemente rilanciare l'applicazione l'ho avuto intoppi.

Abbiamo appena trascorso un'ora o giù di lì fare questo e con l'aiuto di consiglio di Brad e alcune modifiche aggiuntive tutto ha funzionato.

Ho fatto questo utilizzando il seguente:. 10.7.3, Xcode 4.3.2, iOS 5.1 tra

1) Fare clic destro sul vostro myapp.xcodeproj e selezionare contenuto della confezione

2) project.pbxproj aperto con un editor di testo (Sconsigliato TextEdit in quanto potrebbe rovinare la formattazione)

3) Scorrere fino in fondo fino a trovare /* Begin XCBuildConfiguration section */

4) Si noti che si dispone di un debug e rilascia le sezioni

5) Nella sezione di rilascio dare un'occhiata a CODE_SIGN_IDENTITY & "CODE_SIGN_IDENTITY[sdk=iphoneos*]" che dovrebbe essere simile a questo:

CODE_SIGN_IDENTITY = "iPhone Distribution: MyCompany LLC";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution: MyCompany LLC";

6) Date un'occhiata a PROVISIONING_PROFILE e "PROVISIONING_PROFILE[sdk=iphoneos*]" che dovrebbe essere simile a questo:

PROVISIONING_PROFILE = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";

Questo dovrebbe corrispondere il profilo di provisioning in Xcode. Per vedere se corrispondono Xcode aperto> Finestra> Organizer> Dispositivi> Profili di fornitura> Fare clic destro sul profilo> Mostra nel Finder> Il nome del file .mobileprovision è il vostro profilo id.

7) Scorrere verso il basso nella project.pbxproj e trovare una seconda istanza della sezione di rilascio. La seconda istanza della sezione di rilascio dovrebbe terminare con un modo di dire /* End XCBuildConfiguration section */ commento

8) fare in modo che la seconda sezione corrisponde la prima sezione in modo che CODE_SIGN_IDENTITY, "CODE_SIGN_IDENTITY[sdk=iphoneos*] e PROVISIONING_PROFILE sono tutti compilati.

Un suggerimento farò visto che nessuno ancora ha detto: VI PREGO fare un backup del file intero .xcodeproj PRIMA di iniziare a modificare il suo contenuto. Avvitare il file di progetto e non avendo di backup porterà ad un'esperienza molto molto spiacevole.

Essere in grado di tornare indietro di una modifica può essere una manna dal cielo.

Ho appena incontrato questo problema nella mia XCode4. Per risolverlo, è necessario mettere tutte le disposizioni corretti in entrambi Debug e Release config.

Stavo cercando di presentare (per archiviazione) mia app. Così mi limito a cambiare le disposizioni di debug a "Non Codice Sign", e la fornitura di rilascio a disposizione AppStore di mio app.

Questa risolvere il problema e mi permette di archiviare normalmente. Speranza che aiuta.

Selezionare le linee in codesigning che sono vuota sotto qualsiasi iOS SDK e selezionare il certificato destra.

La soluzione di Brad Smith ha funzionato per me, ma ho anche dovuto rimuovere il campo CODE_SIGN_IDENTITY per farlo funzionare.

Purtroppo questo approccio non ha funzionato per me. Ma qui è una correzione che ha lavorato per me (per ottenere questo al lavoro è necessario un file di progetto di lavoro sulla Subversion o giù di lì):

Ho fatto tornare ad una versione di lavoro del mio file di progetto. Poiché non è possibile ripristinare con Xcode ( Dove ? è l'opzione 'Ripristina' nel controllo del codice sorgente Xcode 4 del ) - ho usato Tortoise, la mia macchina Windows e questo tutorial ( http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-howto-rollback.html ) per ripristinare un file di progetto più vecchio.

Come il tutorial non ha funzionato per me, ho solo usato Tortoise per salvare la revisione di lavoro del mio file di progetto da una chiavetta USB alla porta al mio mac. Dopo di che ho sostituito il nuovo file di progetto rotto con il vecchio lavoro, pulito e ha funzionato come un fascino!

ho avuto problemi perché ho aggiornato il mio profilo AdHoc provisioning con alcuni nuovi dispositivi per l'uso su PROVA Scelta dei colori. Assumedly questo sta accadendo perché Xcode ha un vecchio riferimento al tuo profilo di provisioning in entrambi le impostazioni di generazione codesigning per il progetto o gli obiettivi. Il modo in cui ho fissato il mio era quello di:

  1. Vai a entrambe le impostazioni di generazione di destinazione e le impostazioni di progetto di creare, sotto la firma del codice cambiamento tutti i profili di provisioning a qualcos'altro.
  2. Vai dispositivi profili / Prevenzione in l'organizzatore eliminare i profili di offendere, quindi fare clic sul pulsante di aggiornamento in basso a destra.
  3. Torna alle impostazioni di destinazione e costruire progetti e impostare i profili di provisioning alla competente (si spera) i profili di provisioning di recente aggiornata.

Almeno in Xcode 5, questa è la cosa che ha risolto il problema per me:

In provisioning profilo, selezionare il profilo di provisioning incriminato e poi selezionare un profilo di provisioning valida nel menu a discesa.

entrare descrizione dell'immagine qui

È possibile rimuovere vecchio riferimento del file di provisioning. Poi, dopo l'importazione nuovo provisioning profilo e selezionando Xcode costruttore.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top