2015-08-25 14 views
14

Dopo aver aggiornato Fabric Crashlytics nella mia app, non posso più eseguirlo sul mio dispositivo iOS. Sul simulatore funziona bene. L'errore è:Errore Crashlytics: Simboli indefiniti per l'architettura arm64

Undefined symbols for architecture arm64: "_gzopen", referenced from: -[CLSPackageReportOperation compressFile:] in Crashlytics(CLSPackageReportOperation.o) "_gzwrite", referenced from: ___42-[CLSPackageReportOperation compressFile:]_block_invoke in Crashlytics(CLSPackageReportOperation.o) "_gzclose", referenced from: -[CLSPackageReportOperation compressFile:] in Crashlytics(CLSPackageReportOperation.o) ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

enter image description here

+0

Sembra che sia necessario il collegamento a 'zlib'. – Adam

+0

aggiungi 'libC++' e il gioco è fatto. –

+0

Ho già risposto a questa domanda su questo post: [https://stackoverflow.com/a/45569861/8434514](https://stackoverflow.com/a/45569861/8434514) –

risposta

4

risolto. Ho rimosso Crashlytics.framework e reinstallarlo.

4

Per me, la soluzione era Fasi di compilazione - Link Binary With Libraries aggiunge libC++ e funziona, nel mio progetto legacy.

14

mi imbatto in un problema simile, quando stavo aggiornando un app che è stato creato prima Xcode 5.

Dal Xcode 5 nuovi progetti costruire con moduli abilitati per impostazione predefinita. Nella mia vecchia app "Abilita moduli" era impostato su "No". Quindi questa era la soluzione.

In the Build Settings set Enable Modules (C and Objective-C) to YES

+0

Grande salvato la mia giornata :) – arunit21

+0

Questo non ha funzionato – Questioner

35

Crashlytics e tessuto richiedono di collegare il tuo bersaglio contro il seguente:

  • Security.framework
  • SystemConfiguration.framework
  • libC++
  • libz

Seleziona il tuo target -> Crea Fasi -> Collega Binario con le Librerie -> aggiungi quelli mancanti.

Spero che abbia aiutato.

+0

Questo non ha funzionato. – Questioner

+0

Questo funziona. Assicurati di aggiungerlo anche a qualsiasi target di test! Questo era il mio problema –

6

Ho risolto questo problema aggiungendo $(inherited) ad altri flag del linker in Impostazioni di compilazione.

Problemi correlati