2014-06-07 13 views
12

Sto provando a compilare del codice che fa uso del framework CFNetwork e funziona correttamente nel simulatore (con un destinazione di distribuzione di iOS 7.1), tuttavia quando tento di eseguire sul mio iPhone 5 con iOS 7.1, getta il seguente errore:Il codice viene eseguito nel simulatore, il simbolo dyld non trova l'errore generato quando viene eseguito sul dispositivo (Xcode 6 beta)

dyld: Symbol not found: _NSURLAuthenticationMethodClientCertificate Referenced from: /var/mobile/Applications/...... Expected in: /System/Library/Frameworks/CFNetwork.framework/CFNetwork in /var/mobile/Applications/...

per quanto riguarda le informazioni sulla mia app, è scritto in Swift, e ho sto importando CFNetwork attraverso Parse, che importerò nel mio codice Swift tramite un'intestazione di bridging C obiettivo.

Sono in grado di risolvere questo errore, come altri hanno suggerito, rendendo il framework CFNetwork opzionale anziché richiesto. Tuttavia, il framework CFNetwork è necessario affinché la mia app funzioni (sto usando Parse come back-end e non comunicherà senza di essa).

Come tale, sono curioso se qualcun altro è stato in grado di risolvere questo problema utilizzando un metodo diverso da quello sopra.

+0

Ho trovato la risposta qui che ha funzionato nel mio progetto, potrebbe aiutarti. http://stackoverflow.com/questions/24043532/dyld-symbol-not-found-nsurlauthenticationmethodclientcertificate-when-trying –

+0

Grazie per il suggerimento, ma aggiungendo esplicitamente il framework Foundation non ha funzionato per me. –

+0

Ottenuto lo stesso errore per un'app Obj-C che utilizza Xcode 6 Beta, Funziona perfettamente quando sono passato a Xcode 5. –

risposta

0

Ho ricevuto questo errore durante lo spostamento di un'applicazione da un computer a un altro. Se hai usato CMake o qualcosa di equivalente per generare i file di progetto, allora ho una soluzione: in CMake, invece di selezionare XCode come generatore, sono passato a Unix Makefiles. Poi tutto quello che dovevo fare era navigare in terminale alla cartella in cui sono stati generati i file marca e tipo:

$ make 
$ sudo make install 

Questo ha creato l'applicazione con tutti i framework e librerie dinamiche confezionati correttamente a mio/usr/local/cartella bin.

So che questo errore è anche risolvibile in XCode, ma ho trascorso molto tempo ad agitarsi con l'impostazione senza mai capirlo. Questa è la mia soluzione per il confezionamento dell'applicazione; tuttavia, continuo a modificare tutto in XCode.

Problemi correlati