Xcode 10, Command CodeSign non è riuscito con un codice di uscita diverso da zero


124

Ogni volta che costruisco la console viene visualizzato questo messaggio.

CodeSign /Users/admin/Desktop/AppStoreBuild/Project201/build/Debug-iphonesimulator/Project.app (in target: Desker) cd / Users / admin / Desktop / AppStoreBuild / Project201 export CODESIGN_ALLOCATE = / Applications / Xcode.app / Contents / Developer / Toolchains / XcodeDefault.xctoolchain / usr / bin / codesign_allocate

Firma identità: "-"

/usr/bin/codesign --force --sign - --entitlements /Users/admin/Desktop/AppStoreBuild/Project201/build/Project.build/Debug-iphonesimulator/Project.build/Project.app.xcent --timestamp=none /Users/admin/Desktop/AppStoreBuild/Project201/build/Debug-iphonesimulator/Project.app

/Users/admin/Desktop/AppStoreBuild/Project201/build/Debug-iphonesimulator/Project.app: fork delle risorse, informazioni del Finder o detriti simili non consentiti Command CodeSign non riuscito con un codice di uscita diverso da zero

... C'è un modo per identificare la causa di questo errore. Mostra l'identità della firma: "-" quando provo a eseguire anche nel simulatore. perché abbiamo bisogno di firmare l'identità nel simulatore. E un'altra cosa è che se esco da Xcode e lo riavvio, verrà creato correttamente quando cambio codice o aggiungo un metodo che verrà nuovamente compilato non riuscendo.

Risposte:


344

Ho avuto quel problema e Xcode non è riuscito a compilare sul dispositivo, ma sul simulatore ha funzionato bene.

Ho risolto con questi passaggi:

  1. Apri l'accesso al portachiavi.
  2. Blocca il portachiavi di "login".
  3. Sbloccalo, inserisci la password del tuo account PC.
  4. Clean Project nel menu del prodotto.
  5. Costruiscilo di nuovo.

E dopo tutto funziona bene.


18
nel mio caso era sbloccato ... quindi l'ho bloccato e poi pulito e costruito e Xcode mi ha chiesto di inserire la mia password. Di lavoro
Jad

1
Questa è la soluzione perfetta per me, nel mio caso ho scaricato xcode10.1 separatamente e avevo xcode 10.0 precedente. Dopo di che ha dato quanto sopra dopo aver fatto la soluzione fornita da @omanosoft ha funzionato
Abhijit Chakra

Aggiungo che per me ha funzionato senza il punto 4. Per evitare pulizie e ricostruzioni lunghe.
Crazy Barney

1
Mi ci vuole mezza giornata prima di trovare la tua soluzione che mi ha salvato, grazie caro amico.
Bachir Mehemmel

2
Nel mio caso la finestra di dialogo si apre più volte per inserire la password. Ho inserito la password del mio account PC ogni volta e dopo 7-10 volte l'accesso è stato accettato.
Adrian Buciuman

57

Nessuna delle soluzioni elencate ha funzionato per me. In un altro thread è stato sottolineato che l'inclusione di una cartella denominata "risorse" nel progetto causa questo errore. Dopo aver rinominato la mia cartella "risorse", l'errore è scomparso.


3
Questo ha funzionato anche per me. Avevo trascinato una cartella "Risorse" dal Finder nel mio progetto e ho utilizzato il "Riferimento cartella Crea" predefinito che ha creato una cartella "Risorse" blu. L'ho cancellato, ho trascinato di nuovo la stessa cartella "Risorse" dal Finder nel mio progetto, ma questa volta ho selezionato "Crea gruppi" e ora il mio progetto viene compilato senza l'errore di firma.
Mark Petereit

1
Grazie ragazzi, è stato molto utile
Mr T

Ho riscontrato lo stesso problema dopo aver aggiunto i moduli Firebase secondo le loro istruzioni. Ho rinominato la cartella Resources in FirebaseResources e ha funzionato bene. Grazie.
ruralcoder

Bello, ha avuto lo stesso problema durante la copia di un'altra base di codice. Strano, l'altra base di codice non ha avuto problemi, ma quando è stata copiata ha influito su un nuovo progetto. Rinominare la cartella Risorse ha funzionato.
Matteo

qualcuno può dirmi dove e come posso trovare questa cartella delle risorse
pratteek shaurya

41

Se anche la firma del codice non riesce con l'errore "fork delle risorse, informazioni del Finder o detriti simili non consentiti".

Esegui lo script di seguito nella console per correggere:

$ xattr -cr <path_to_app_bundle>

Documentazione Apple: https://developer.apple.com/library/archive/qa/qa1940/_index.html


cercando settimane per il problema e chiedendo supporto ad Apple, senza successo. Grazie per la tua soluzione! Funziona perfettamente per me - per DIVERSI progetti.
Christian Krueger

Grazie per questo. Risolto il mio problema.
nickton il

Sostituendo <path_to_app_bundle> con il percorso del tuo bundle di app effettivo.
xuzepei

15

Questo mi è successo proprio oggi, solo dopo aver aggiunto un'immagine .png con 'nascondi estensione' spuntato nel get info. (Immagine clic destro) Questa immagine è stata aggiunta alla directory dei file del mio progetto Xcode.

Quando si deseleziona la casella e si aggiunge nuovamente l'immagine .png alla directory di Xcode, ho quindi pulito e costruito e ha funzionato bene dopo, un bug molto strano se me lo chiedi.


1
Ho avuto lo stesso problema con un .jpg, che non aveva l'estensione. Risolto dopo averlo aggiunto.
eivindml

1
Grazie per avermi fatto risparmiare tempo. Complimenti per aver correlato quell'errore a un'immagine con un'estensione nascosta.
Marcy

1
Ho riscontrato questo problema con un png, ma aveva l'estensione visibile. L'immagine è stata esportata da Photoshop utilizzando "esporta composizioni di livelli su file". L'eliminazione dell'immagine e la riesportazione utilizzando "esporta come" hanno risolto il problema.
Hermes

stesso problema qui con l'immagine PNG!
Mr T

7

Prova a pulire il progetto:

1. shift + cmd + k
2. shift + cmd + Alt + k 

Quindi prova a eseguire di nuovo il progetto. Spero che questo risolva il problema.


1
Ha fatto. clean è riuscito. quando costruisco i non funziona
Test Test

1
costruire fratello fallito.
Test Test

1
Ha funzionato come un fascino nel mio caso!
Heitor

5

Questo problema si è verificato dopo aver aggiunto file .dae e .png e convertito .dae con XCode Editor nel formato di file di scena SceneKit (.scn).

Dopo aver fatto altre ricerche ho trovato la soluzione qui: https://forums.developer.apple.com/thread/109951#336225

Passaggi per risolvere il problema:

  1. In XCode vai su Preferenze
  2. Fare clic sulla scheda Posizioni
  3. In Command Line Tools seleziona dal menu a tendina XCode 10.1

3

In Xcode: vai a Preferenze Esci dell'utente corrente.

Chiudi Xcode

Nel portachiavi: vai su Accedi e Tutti gli elementi

        - Sort by kind
             - remove "Apple Worldwide Developer Relation Certification Authority"
             - remove "Developer ID Certification Authority"
             - remove "iPhone Developer ...."

Apri Xcode

Vai su Preferenze e accedi al tuo account utente Apple

  • Questo ricaricherà i tuoi certificati sviluppatore che hai precedentemente cancellato Ricostruisci il progetto (dovrebbe essere una build di successo)

Esegui la build sul tuo dispositivo nativo


3

Nel mio caso c'erano le seguenti righe di errore:

Firma identità: "-"

… ..Mobile.app: fork delle risorse, informazioni del Finder o detriti simili non consentiti

Comando CodeSign non riuscito con un codice di uscita diverso da zero

il problema era che nella cartella delle risorse avevo alcuni file con estensione .png, che era nascosta nelle impostazioni predefinite.

Trova il file in FINDER, contrassegnalo -> cmd + i -> unchek Nascondi estensione

dopodiché, torna in Xcode -> kmd + shift + K e ricostruisci.

Spero di esserti stata utile!


Molte grazie! Questo aiuta.
ZavtraMen

Ho provato le altre soluzioni. Questa è l'unica soluzione che ha funzionato per me.
andrewbuilder


3

fix

Rimuovi per sempre gli attributi di file estesi nei file di risorse, non nel bundle dell'applicazione compilato:

  1. Apri Terminale

  2. Cambia directory alla radice dei tuoi file di origine

    $ cd / Users / rjobidon / Documents / My \ Project

  3. Elenca tutti gli attributi estesi

$ xattr -lr .
  1. Rimuovi tutti gli attributi estesi
$ xattr -cr .

Errori Xcode

  • "Command CodeSign non riuscito con un codice di uscita diverso da zero"
  • "Resource fork, informazioni Finder o detriti simili non consentiti"

Causa

Apple ha introdotto una modifica al rafforzamento della sicurezza, quindi la firma del codice non consente più a qualsiasi file in un app bundle di avere un attributo esteso contenente un fork delle risorse o le informazioni del Finder.

fonti


2

Non sono sicuro di cosa causi questo problema, ma un metodo che ho usato per risolvere il problema con successo è stato quello di eseguire l'aggiornamento del pod sui miei baccelli di cacao.

L'errore (per me comunque) mostrava un problema con la firma di uno dei pod. L'aggiornamento dei pod ha risolto il problema di firma.

pod update [PODNAME] //For an individual pod

o

pod update //For all pods.

Si spera che questo aiuti qualcuno che sta avendo lo stesso errore "Command CodeSign fallito con un codice di uscita diverso da zero".


Non ho un podfile - non sono nemmeno sicuro di quale dovrebbe essere il nome del file e l'estensione. Puoi chiarire?
Corsa domenica

Ciao @RideSun, potresti non aver ancora aggiunto pod al tuo progetto. Il podfile è letteralmente chiamato "Podfile". Non ha estensione, per impostazione predefinita, sarà un file TextEdit.
paul_f

2

Dopo aver provato tutto, la mia soluzione era rimuovere alcuni file PNG, creare ed eseguire (ok) e aggiungere nuovamente le immagini PNG. Strano!


Cosa simile. Aggiunti 5 file .PNG senza estensione .PNG, le prime build hanno funzionato, quindi dopo aver modificato i controlli in IB l'errore di firma sopra si è verificato con il messaggio "fork delle risorse, informazioni del Finder o detriti simili non consentiti". Detriti? Chi usa quella parola? Modificando i nomi dei file per avere l'estensione .PNG ha risolto il problema.
Chris Walken,

1

Nessuna delle altre risposte ha funzionato. Questo è quello che ho fatto:

  1. cancellato il mio certificato dal portachiavi;
  2. aperto Xcode ricostruisce il certificato;
  3. ha eseguito correttamente l'app sul dispositivo.

1

Per me dovevo andare su portachiavi, selezionare il portachiavi "login", fare doppio clic sulla chiave iOS Developer: myname, fare clic sulla scheda controllo accessi e cambiare il pulsante di opzione su Consenti a tutte le applicazioni di accedere a questo elemento.


1

Questo problema è stato causato dalla creazione del mio progetto nello schema di rilascio. Può essere causato anche da altre cose. Prova a cambiare lo schema di compilazione andando in xCode su Prodotto> Schema> Modifica schema. Nella sezione "Esegui" situata a sinistra, imposta "Configurazione build" in "Debug". Spero che questo ti possa aiutare.


1

Nessuna delle soluzioni di cui sopra ha funzionato per me. Dopo un po 'di congetture, ho provato (Xcode v10.2.1 cocoapods v1.7.1)

pod deintegrate

seguito da

pod install

Poi:

  • Ha aperto l'area di lavoro in Xcode
  • Cartella build pulita
  • Costruisci il progetto

Nessun errore di compilazione.


1

Per me la soluzione era la seguente, con il flag "Gestisci automaticamente il segno" attivo:

  1. nel menu a discesa della squadra del bersaglio, seleziona "Nessuno"

  2. riselezionare il team di sviluppo corretto

Dopo aver provato quasi tutti i suggerimenti, ho scoperto che funziona, immagino perché Xcode imposta le cose per la firma da zero.


1

Nessuna delle soluzioni popolari ha funzionato.
Nel mio caso, ho risolto l'errore entrando nel file

XCode -> Preferenze -> Account -> Gestisci certificati

e ha aggiunto un (+) allo sviluppo iOS .


1

Pubblicherò la mia soluzione. Questa soluzione ha funzionato per me, poiché nessuna delle precedenti ha funzionato. Il problema si è verificato per la prima volta subito dopo l'ultimo aggiornamento del set di strumenti cli XCode (non sono sicuro che questo sia il bias di conferma).

Ho provato alcune delle istruzioni (es. Unlock Keychain Trick).

Cosa ha funzionato per me in caso di errore:

  • Command CodeSign failed with a nonzero exit code (Something.framework)

    • Contenuti DD del cestino; rm -rf / Users / dx / Library / Developer / Xcode / DerivedData / *
    • Riavvia XCode
    • Fasi di costruzione => Link Binary With Libraries
      • Something.framework,
    • Imposta il valore di incorporamento in General => Something.framework => EMBED
      • Do not embed
    • Premere Cmd+B(Crea progetto)
    • Si spera costruito con successo

Quando ho eseguito i passaggi precedenti, ho davvero creato l'app con successo, ma Xcode mi ricorda: motivo: immagine non trovata . Risolvo il problema con il seguente passaggio: TARGETS - Build Fhases - Link Binary With Framework - Something.framework- Status -> Optianl
Xuyee Wang

1

Ho riscontrato questo problema a causa dell'errata configurazione del mio certificato dell'autorità di certificazione delle relazioni con gli sviluppatori di Apple in tutto il mondo .

Ho risolto il problema passando da "Alway Trust" a "Use System Defaults"

Passo dopo passo:

  1. Apri KeyChain
  2. Fai clic sul portachiavi "login" (assicurati che sia sbloccato - se è bloccato, fai clic con il pulsante destro del mouse e scegli "Sblocca portachiavi")
  3. Fare clic su Certificati e individuare il certificato dell'Autorità di certificazione per le relazioni con gli sviluppatori nel mondo Apple
  4. Fare clic con il tasto destro del mouse e selezionare Ottieni informazioni
  5. Espandi la sezione Attendibilità e modifica le impostazioni in Usa impostazioni predefinite di sistema come da screenshot sottostante

inserisci qui la descrizione dell'immagine


1

Questo perché la firma del codice non consente più a qualsiasi file in un app bundle di avere un attributo esteso contenente un fork di risorse o informazioni sul Finder.

Per vedere quali file causano questo errore, vai alla cartella .app, normalmente è come: / Users / XXXX / Library / Developer / Xcode / DerivedData / MyProject-ckbzynxqjmstxigbdwwkcsozlego / Build / Products / Debug-maccatalyst / (il mio è il progetto Catalyst) In Terminal,

cd <above path>
xattr -lr .

Vedrai che alcuni file hanno attributi estesi:

./MyProject.app/Contents/Resources/shopping_cart.png: com.apple.lastuseddate # PS: 00000000 BE 31 D5 5E 00 00 00 00 D0 40 FE 39 00 00 00 00 | .1. ^ ..... @ 0,9 .... |

Quindi vai alla cartella del progetto o alla cartella di riferimento per quei file, rimuovi l'attributo esteso:

cd /Users/XXXX/Work/MyProject
xattr -cr .

Dopo aver pulito tutte le cartelle di riferimento, vai su Xcode e ricostruisci.


0

Anch'io ho visto questo errore dopo aver aggiunto una combinazione di immagini .jpg e .png alla cartella art.scnassets, apportando modifiche al codice e rimuovendo tali modifiche tramite il menu Controllo del codice sorgente> Elimina tutte le modifiche ... di Xcode.

Ho provato le altre correzioni in questo thread ma, alla fine, ho dovuto eliminare i file .jpg / .png aggiunti, pulire il progetto e ricostruire il progetto per eliminare gli errori. Ho quindi letto i file originali .jpg / .png e ora sto ricostruendo il codice senza problemi.


Ho aggiunto diversi file rapidi dal mio altro progetto e anche un'immagine png. Dopo aver eliminato il progetto di immagine png, è stato creato con successo 😀
Prashant Gaikwad

0

nel mio caso si trattava di un file storyboard danneggiato


0

Dopo aver copiato due file .aiff in un gruppo .scnassets, si è verificato questo errore. La cancellazione dei file e una "Clean Build Folder" risolve il problema nel mio caso.


0

Non sono sicuro che questo aiuterà qualcuno, ma assicurati di aver Find Implicit Dependenciesspuntato. A volte questo può portare il tuo progetto a "perdere traccia" di dove cercare certe cose.


inserisci qui la descrizione dell'immagine


Una volta fatto questo, ti suggerisco di pulire anche il tuo progetto e di ricostruirlo.

inserisci qui la descrizione dell'immagine


0

Questo ha funzionato per me :) Ho rimosso il certificato nelle impostazioni di accesso al portachiavi. Vai su Xcode e crea la build pulita dell'app. Ora il certificato viene nuovamente creato nell'accesso al portachiavi e la compilazione viene completata con il dispositivo reale.


0

Solo una visualizzazione

Lock Keychain "login" -> Unlock Keychain "login" -> Always allow

inserisci qui la descrizione dell'immagine


0

Nel mio caso è stata un'opzione attivata accidentalmente. Sto usando i file .xcconfig di root comuni sia per iOS che per macOS, per il target iOS è rimasta attiva l' opzione Enable hardened runtime , sostituendo la riga

ENABLE_HARDENED_RUNTIME = YES

dal

ENABLE_HARDENED_RUNTIME[sdk=macosx*] = YES

nel file .xcconfig ha risolto il problema



0

Il mio problema è stato risolto

  • Seleziona Gestisci automaticamente la firma su Target MyProject e Aggiungi team.
  • Seleziona Gestisci automaticamente la firma su Target MyProjectTest e Aggiungi team.
  • Prodotto -> Pulisci cartella build -> Crea di nuovo o prova a eseguire sul dispositivo.

Il problema si verifica quando hai il team sbagliato / diverso su MyProject e MyProjectTest.

Anche ricollegare il telefono prima della ricostruzione può aiutare a risolvere questo problema.

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.