2012-04-02 16 views
10

Sono molto nuovo allo sviluppo iOS, ho un'app tutto pronto e pronto per essere distribuito, ma mi sembra di ottenere questo errore ogni volta che eseguo l'applicazione solo sul mio DEVICE, il simulatore iOS funziona bene. Heres l'errore completo:Errore di firma codice: verifica codice fallito dell'applicazione

Application failed codesign verification. The signature was invalid, contains disallowed entitlements, or it was not signed with an iPhone Distribution Certificate. (-19011)

Ecco l'intero registro:

Validate "/Users/masonsocha/Library/Developer/Xcode/DerivedData/Multibrowser-brgeiknbjgrywwehhohafjwxjqnk/Build/Products/App Store-iphoneos/Multibrowser.app" 
    cd /Users/masonsocha/Desktop/Apps/MultiBrowser 
    setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" 
    setenv PRODUCT_TYPE com.apple.product-type.application 
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/Validation "/Users/masonsocha/Library/Developer/Xcode/DerivedData/Multibrowser-brgeiknbjgrywwehhohafjwxjqnk/Build/Products/App Store-iphoneos/Multibrowser.app" 

warning: Application failed codesign verification. The signature was invalid, contains disallowed entitlements, or it was not signed with an iPhone Distribution Certificate. (-19011) 
Executable=/Users/masonsocha/Library/Developer/Xcode/DerivedData/Multibrowser-brgeiknbjgrywwehhohafjwxjqnk/Build/Products/App Store-iphoneos/Multibrowser.app/Multibrowser 
codesign_wrapper-0.7.10: using Apple CA for profile evaluation 
AssertMacros: trust_result == kSecTrustResultUnspecified, file: codesign_wrapper.c, line: 594 
AssertMacros: profile, file: codesign_wrapper.c, line: 918 
codesign_wrapper-0.7.10: Failed to load provision profile from: /Users/masonsocha/Library/Developer/Xcode/DerivedData/Multibrowser-brgeiknbjgrywwehhohafjwxjqnk/Build/Products/App Store-iphoneos/Multibrowser.app/embedded.mobileprovision 
- (null) 

ho già provato accorciando la lunghezza del nome del progetto, che non ha aiutato, Attualmente sto usando OSX Lion, su Xcode 4.3.2. Ho passato tutta la notte a tirarmi fuori i capelli, per favore aiuto!

+0

Stai cercando di creare un dispositivo da testare o da costruire per distribuire su App Store? – magmastonealex

+0

Sembra che forse non hai nemmeno configurato la firma del codice in base a questo. > La firma non era valida, contiene diritti non consentiti o > non firmati con un certificato di distribuzione iPhone. Hai seguito le istruzioni sul portale per sviluppatori per ottenere i tuoi certificati? O stai semplicemente passando dal simulatore al dispositivo e sperando che funzioni? – rooftop

+0

Per coloro che sono alla ricerca di una soluzione aggiornata - basata su aprile 2013, si prega di seguire: https://developer.apple.com/library/ios/#technotes/tn2250/_index.html – Yizhar

risposta

9

Ho avuto lo stesso problema esatto ..

Vai a Accesso Portachiavi

  1. Verificare di avere le chiavi pubbliche e private impostati correttamente. Questo è un buon riferimento https://developer.apple.com/legacy/library/technotes/tn2250/_index.html

  2. precedenza avevo regolato le mie preferenze portachiavi certificati per rendere il lavoro di Outlook, ma che praticamente avvitato codice XCode firma ..

Dopo ho impostato questi per il "miglior tentativo "(vedere screenshot) convalida funzionato bene

enter image description here

+0

Questo ha funzionato per me. Grazie. – user1489709

2

ho avuto lo stesso problema anche dopo aver controllato tutta roba firma. Ho avuto la vecchia impostazione "Può essere debugata" nel mio file delle autorizzazioni. Passando a get-task-allowed è stato risolto il problema. Apple ha instructions on how to debug signing issues.

+0

Grazie per tutte le risposte a tutti, ma ho risolto il problema, avevo selezionato il mio specifico profilo di provisioning di distribuzione, ho provato a selezionare l'impostazione consigliata se selezionava automaticamente un profilo valido, e ha funzionato bene: D –

0

Ho avuto lo stesso problema e risolto da:

  • Cambiare il profilo del valore automatico di selezione da "iPhone Developer" a "iPhone Distribuzione" secondo la sezione Assigning Provisioning Profiles to Build Configurations.
  • Scaricare il profilo di provisioning di distribuzione e fare doppio clic su di esso per aggiungerlo.
19

Può essere xcode seleziona uno dei profili di sviluppo per firmare il codice con esso.

Assicurarsi che utilizza il profilo di distribuzione

stampa il progetto, nelle impostazioni di generazione -> sezione Code Signing espandere Code Signing Identity -> Stampa -> assicurarsi che qualsiasi iOS SDK si riferisce al profilo di distribuzione.

+1

Grazie! Mi sono imbattuto in questo perché la mia entità di firma del codice di rilascio era impostata per corrispondere a quella di dev per Test Flight. – sberley

+3

Ha senso. Funziona! Grazie mille! –

3

È possibile risolvere il problema non lasciando la selezione del profilo su xcode. Seleziona manualmente il profilo corretto release nelle impostazioni del progetto e verrà esaminato.

1

Ho riscontrato questo problema ma ho riscontrato che nessuno dei problemi precedenti lo ha risolto. Alla fine ho trovato la soluzione lavorando sulla nota tecnica di Apple (https://developer.apple.com/legacy/library/technotes/tn2250/_index.html) sull'argomento.

Il problema specifico nel mio caso era una risorsa che mancava o era nascosta (non ho scoperto quale), ma che non era contrassegnata come un problema in nessun altro file nel processo di compilazione. Ho delineato i passaggi che ho seguito per scoprire questo di seguito.

  1. Archiviare la build, salvare per la distribuzione ad hoc.
  2. Passare all'ipa in finder, rinominare in .zip.
  3. doppio clic per annullare l'archiviazione, aprire la cartella 'Payload'
  4. aprire un terminale e digitare il seguente:

    codesign --verify -vvvv -R = 'ancora mela generico e certificato 1 [field .1.2.840.113635.100.6.2.1] esiste e (foglio certificato [campo.1.2.840.113635.100.6.1.2] esiste o foglia certificato [campo.1.2.840.113635.100.6.1.4] esiste) '/ Percorso/a/tuo/app.app

  5. Invece di immettere /Path/to/your/app.app, trascinare e rilasciare il file * .app dalla cartella Payload nel terminale, assicurarsi che ci sia uno spazio tra la fine del comando e il nomefile e hit re girare.

ho ottenuto un errore nell'uscita dicendo 'una risorsa sigillata è mancante o non valido', con il nome del file che causa il problema (ha cominciato con un punto, che potrebbe essere stato il problema). Quando ho cercato il nome file nel browser del progetto XCode ho trovato il file, ma quando ho cercato nel Finder, non era su disco.

La soluzione era semplicemente rimuovere il file dal browser del progetto XCode e l'errore è andato via. Direi sicuramente a chiunque abbia un problema simile: lavorare con le note tecniche di Apple. Sono un po 'mal scritti, ma la soluzione probabilmente sarà lì da qualche parte.

Problemi correlati