L'esecuzione di app iOS provoca errori di runtime per i framework "firma codice non valida"


33

Ogni volta che provo a eseguire questa app, si avvia OK e si installa ma non appena si avvia l'app si rompe e stampa questo messaggio di errore. XCode 11 e iOS 13.

dyld: Library not loaded: @rpath/StandardCyborgFusion.framework/StandardCyborgFusion
  Referenced from: /private/var/containers/Bundle/Application/2292CCF2-800F-4E28-AF10-A1B98081DD0A/StandardCyborgExample.app/StandardCyborgExample
  Reason: no suitable image found.  Did find:
    /private/var/containers/Bundle/Application/2292CCF2-800F-4E28-AF10-A1B98081DD0A/StandardCyborgExample.app/Frameworks/StandardCyborgFusion.framework/StandardCyborgFusion: code signature invalid for '/private/var/containers/Bundle/Application/2292CCF2-800F-4E28-AF10-A1B98081DD0A/StandardCyborgExample.app/Frameworks/StandardCyborgFusion.framework/StandardCyborgFusion'

Ho visto molti post simili qui e nei forum degli sviluppatori di app su questo problema, ma nessuno ha una spiegazione o una correzione valida. ho provato

  • Pulizia e costruzione
  • Riavvio di XCode
  • Riavvio del Mac
  • Portachiavi completamente ripristinato
  • Verifica che tutti i certificati Keychain siano attendibili su "Usa valori predefiniti di sistema"
  • Ripristino delle impostazioni di fabbrica del mio Mac

AGGIORNAMENTO 1: sembra essere un problema con il mio dispositivo iOS. L'app può avviarsi su un simulatore, ma il simulatore non è adatto ai miei scopi di sviluppo, quindi devo farlo funzionare sul mio dispositivo. Di recente ho aggiornato il mio iPhone XR a iOS 13.3.1.

AGGIORNAMENTO 2: Trovato un altro gruppo che sembra avere lo stesso problema https://github.com/flutter/flutter/issues/49504 .


da dove viene StandardCyborgFusion.framework? contattare il suo sviluppatore ...
user3441734

1
hai provato a collegare o incorporare il framework?
The Pedestrian

1
Questo errore si verifica con tutte le app. Non è specifico per il framework.
Aidan Rosswood,

Aggiunto un aggiornamento Sembra essere specifico del dispositivo poiché funziona sul simulatore e un mio amico è in grado di compilare gli stessi framework sul suo dispositivo.
Aidan Rosswood,

1
StandardCyborgFusion.framework non è un codice firmato o non è compilato per l'architettura arm64. Non ci hai ancora detto come hai ottenuto il framework. Inoltre, se qualcuno ti dice di riavviare Xcode per risolvere i problemi di compilazione / collegamento, ridimensionali.
Claus Jørgensen,

Risposte:


25

Sto usando CocoaPods, e per me questo risolve l'errore (Risposta di Wasa22 sul problema github):

  1. Apri il podfile
  2. Commenta use_frameworks!
  3. Aggiungi use_modular_headers!
  4. In Terminale, esegui un aggiornamento pod -> installazione pod
  5. In Xcode, Clean (Command-Shift-K) -> Build and Run.

Fonte: https://github.com/Alamofire/Alamofire/issues/3051


Questa soluzione funziona davvero!
RapsIn4,

Non ho avuto il tempo di verificare se funziona da quando ho appena preso in prestito un account sviluppatore di amici, ma lo segnerò come corretto. Gradirei se altri potessero confermare che questo funziona anche per loro.
Aidan Rosswood,

Cosa succede se non ho il podfile, cosa posso fare in questo caso?
abdou31,

1
commentare use_frameworks ed eseguire il comando di aggiornamento pod è sufficiente
Lahiru Prasanna,

27

Questo è un problema con iOS 13.3.1. Tutti i framework dinamici che vengono compilati con l'ultima versione di iOS 13.3.1 presentano questo problema quando vengono eseguiti su un profilo di provisioning personale / account sviluppatore. La soluzione, copiata da Jmagman da Github, è al di sotto.

Puoi:

  1. Utilizza un profilo di provisioning non personale del team (account sviluppatore a pagamento).
  2. Esegui sul simulatore 13.3.1.
  3. Prova su un vero dispositivo iOS con 13.3 o versioni precedenti.
  4. Installa il profilo beta sul tuo dispositivo di prova e installa iOS 13.4 beta 3. (Risolto)
  5. Attendi il rilascio di iOS 13.4.

Spero che questo problema venga risolto presto.


Sto eseguendo il downgrade da iOS 13.3.1 a 13.3. Non posso semplicemente aspettare e aspettare che Apple risolva questo problema.
Starsky

Eh ... sembra che non sia possibile eseguire il backup dei miei dati con iOS 13.3.1 e poi ripristinarli su iOS 13.3. È triste ((Il ripristino deve essere eseguito con le stesse versioni di iOS. Quindi, questa non è nemmeno una soluzione ...
Starsky

Vorrei aver trovato prima questa risposta. . . Ho trascorso 3 ore a provare a configurare le impostazioni di compilazione, i binari e le fasi di compilazione. . . Ottenere un conto a pagamento risolto presto
Marcus Kim,

Apple classica, creando un bug che ti spinge a comprare qualcosa.
Darius Buhai,

Grazie mille per la risposta chiara e corretta, +1.
mAc

3

Questo sembra essere corretto su iOS 13.4 beta 3. Puoi installare il profilo beta o attendere il rilascio di iOS 13.4.


1
Il 24 marzo Apple ha rilasciato iOS 13.4. Questo aggiornamento include una correzione per il problema della firma del codice! Per ulteriori informazioni, consultare iOS 13.4 beta 3.
Rover

2

Vedo 2 modi per risolverlo.

  1. Esegui il downgrade a iOS 13.3. iOS 13.3.1 rompe la firma di terze parti a meno che tu non abbia un account sviluppatore pagato. Se possibile (procurati un iPhone economico dedicato allo sviluppo)

  2. Aggiorna Mac OS, Xcode e iOS all'ultima versione Beta (Aggiorna chiunque di loro da solo non funzionerà, perché iOS beta richiede l'ultimo Xcode beta e Xcode richiede l'ultimo Mac OS Catalina)


0

Se corri da Xcode vedrai un errore come:

/private/var/containers/Bundle/Application/D0BD5694-A7D6-4820-A146- 
 A49DF0C0F0B1/Runner.app/Frameworks/Flutter.framework/Flutter: code signature 
invalid for '/private/var/containers/Bundle/Application/D0BD5694-A7D6-4820- 
A146-A49DF0C0F0B1/Runner.app/Frameworks/Flutter.framework/Flutter'

soluzione fornita da jmagman su Github

jmagman è passato ad Apple (FB7562472) e farà sapere a tutti se sentono qualcosa. maggiori dettagli su github


0

Ho riscontrato questo problema durante il tentativo di compilare sul mio attuale dispositivo iOS (ma ha funzionato bene nel simulatore). Ho trascorso almeno 10 ore a provare a correggere questo errore. Ho provato di tutto in tutti i forum, niente ha funzionato. Ma questo è quello che alla fine ha funzionato per me!

  • Aggiornamento da iOS 13.3.1 a iOS 13.4.1

Non avrei potuto immaginarlo, ma è vero che iOS 13.3.1 rompe la firma di terze parti a meno che tu non abbia un account sviluppatore pagato!


Devi solo aggiornare il tuo dispositivo iOS a 13.4.x. Dopo l'aggiornamento posso eseguire alcuni progetti di esempio senza altri aggiustamenti.
corban
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.