Crashlytics error: Undefined symbols for architecture arm64

mazorati picture mazorati · Aug 25, 2015 · Viewed 11.9k times · Source

After I updated Fabric Crashlytics in my app I cant anymore run it on my iOS device. On simulator it works fine. Error is:

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

Answer

Ricardo Anjos picture Ricardo Anjos · Jun 29, 2016

Crashlytics and Fabric require you to link your target against the following:

  • Security.framework
  • SystemConfiguration.framework
  • libc++
  • libz

Just select your target -> Build Phases -> Link Binary with Libraries -> add the ones missing.

I hope it helped.