dyld: libreria non caricata: @ rpath / libswiftAVFoundation.dylib


106

Ho appena aggiornato a Xcode 7 e swift 2 e ho finito di correggere gli errori associati alla transizione. Finalmente ho il progetto da costruire, ma dopo la schermata di avvio ricevo un errore che dice:

dyld: Libreria non caricata: @ rpath / libswiftAVFoundation.dylib Riferimento da: / var / mobile / Containers / Bundle / Application / ...
Motivo: nessuna immagine adatta trovata. Hai trovato: /private/var/mobile/Containers/Bundle/Application/.../Frameworks/libswiftAVFoundation.dylib: mmap () errno = 1 convalida della prima pagina di "/ private / var / mobile / Containers / Bundle / Application / ... / Frameworks / libswiftAVFoundation.dylib'

Ho visto questo errore prima, ma con altri framework e non riesco a risolvere il mio problema. C'è un modo per aggirare questo problema aggiungendo il mio framework da qualche parte?


Ok, quindi dopo aver avuto questo problema più volte, questa è l'unica cosa che ha funzionato per me. Non sono sicuro del motivo per cui le altre soluzioni non lo facessero, ma ho seguito le istruzioni qui: stackoverflow.com/a/32730393/3474814
coracora

6
Ho avuto questo problema dopo essere passato a un nuovo Mac. La causa era un certificato intermedio WWDR Apple mancante.
Morten Holmgaard


Risposte:


191

Prova a pulire, creare e quindi eseguire il progetto. Ha funzionato per me.


2
Non ha funzionato per me, per un problema simile con Swifty.json :(
Hatchmaster J

4
Ha funzionato per me. Ho avuto questo problema poiché il mio certificato è stato revocato. Adesso va bene.
Adam Studenic

1
Grazie mille per l'aiuto! Ho appena rinnovato il mio certificato di sviluppo iOS e stavo affrontando questo errore frustrante. È incredibile come gli errori di xcode NON siano intuitivi da ispezionare ...
Gabcvit

1
Dopo aver trascorso alcune ore a provare diverse soluzioni in Xcode 10.2, nessuna ha funzionato. Ma esegui il progetto in Xcode 10.1 e ha funzionato (Incorpora sempre le librerie Swift Standard su Sì). Nella mia ricerca della soluzione ho letto qualcuno che diceva che il problema era nello Swift Compiler, forse nella 10.2 c'è un problema.
Carlos Parada

54

In Xcode 8 si aggiorna l'impostazione Build

Incorpora sempre le librerie Swift Standard su

ha funzionato per me.


Penso che questa sia una possibile risposta corretta. Dai documenti Apple. "Se stai creando un'app che non utilizza Swift ma incorpora contenuti come un framework che lo fa, Xcode non includerà queste librerie nella tua app." Riferimento: developer.apple.com/library/content/qa/qa1881/_index .html
David Pettigrew il

1
Sto cercando di convertire un vecchio progetto Object-C (in parte) in swift. L'impostazione "Incorpora sempre le librerie standard rapide" su Sì ha risolto il problema per me.
Darrell Root

29

Nessuna delle soluzioni di cui sopra ha funzionato per me. Alla fine il problema erano le impostazioni di fiducia del mio certificato di firma. Sono stati impostati su "Always Trust" che sembrava causare questo problema. Ripristinandolo "Usa impostazioni predefinite di sistema" è stato risolto per me.

Nel mio caso ho originariamente modificato le impostazioni di affidabilità dei certificati perché avevo problemi a costruire da remoto. Sono stato in grado di risolvere entrambi i problemi cambiando le impostazioni di affidabilità su "Usa impostazioni predefinite di sistema" a livello globale e "Consenti sempre" per SSL.

Spero che questo aiuti qualcuno.


24

Quando la risposta contrassegnata come corretta non ha funzionato per me, ho aggiunto quanto segue a "Impostazioni build> Collegamento> Percorsi di ricerca Runpath" :

@executable_path/Frameworks

7

Ho riscontrato questo problema durante il tentativo di rimuovere il mio profilo di provisioning e il certificato dell'app. Quindi tutti i miei progetti rapidi hanno questo problema. Dopo quasi un'ora ho scoperto che basta semplicemente pulire il progetto:

Fare clic su Prodotto -> Pulisci (o CMD- Shift- K)

E i progetti verranno eseguiti normalmente.


6

Domanda simile di seguito, le risposte lì possono offrire qualche aiuto. dyld: libreria non caricata: @ rpath / libswiftCore.dylib

Per me l'unica soluzione che ha funzionato è stata quella suggerita da @ morten-holmgaard nel suo commento.

Ho anche provato a cambiare il flag "Contenuto incorporato contiene codice Swift" in true nelle impostazioni di build, ma non ha avuto alcun effetto.


2

La modifica delle impostazioni di build -> "Il contenuto incorporato contiene il codice Swift" su true / yes ha funzionato per me.


2

Per il framework che sto usando su OSX (MailCore2) ho dovuto impostare il mio obiettivo

"Impostazioni build> Collegamento> Percorsi di ricerca Runpath" a @loader_path

una soluzione che ho trovato qui:

http://www.dribin.org/dave/blog/archives/2009/11/15/rpath/


L'articolo è stato utile, grazie! Nessuna delle altre soluzioni qui lo ha fatto per me, ma sono stato finalmente in grado di farlo funzionare aggiungendo all'impostazione @rpathdel Runpath Search Pathslinker.
catchinflux

2

Ho riscontrato questo problema con Xcode 9. Questo ha funzionato per me:

Project > Build Settings > Swift Compiler - Search Path: Setting "Import Paths"a $(PROJECT_DIR)(ricorsivo)


1
Mi sono imbattuto in questo in xcode 10 e ha funzionato anche! Ottimo lavoro!
petrosmm

1

Ci sono due soluzioni per questo:

Soluzione 1:

  1. Quit Xcode( cmd+ Q)
  2. Apri e Clean Project ( cmd+ shift+ k)
  3. Ora esegui il progetto che dovrebbe funzionare correttamente

Soluzione 2:

Lo stesso registro della console indica che l' editor di collegamento dinamico (dyld) non è in grado di caricare la libreria. Per risolvere questo problema, utilizzare i passaggi seguenti:

  1. Seleziona Project-> Build settings->
  2. Vai alla Build optionsscheda -> Seleziona " Always Embed Swift Standard Libraries’a Yes"
  3. Ora esegui il progetto che dovrebbe funzionare correttamente

Screenshot con passaggi


0

Questo può essere un problema con i certificati. Vai al centro membri per sviluppatori Apple e assicurati di aver impostato "Unità organizzativa" nel tuo profilo di distribuzione.

Dai anche un'occhiata ai log per il testo deny-mmap , questo probabilmente ti aiuterà ulteriormente.

Ho riscontrato questo problema con un'applicazione Xamarin per Apple Watch. L'applicazione principale e il framework Mono erano firmati e funzionanti, ma l'estensione Watchkit non è stata caricata a causa dell'errore dyld.

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.