2015-08-25 3 views
14

После того, как я обновил Fabric Crashlytics в своем приложении, я больше не могу запускать его на своем устройстве iOS. На симуляторе он отлично работает. Ошибка:Ошибка Crashlytics: Неопределенные символы для архитектуры 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

Похоже, вам нужна ссылка на 'zlib'. – Adam

+0

добавьте 'libC++', и все готово. –

+0

Я уже ответил на этот вопрос в этом сообщении: [https://stackoverflow.com/a/45569861/8434514](https://stackoverflow.com/a/45569861/8434514) –

ответ

4

решаемая. Я удалил Crashlytics.framework и переустановил его.

4

Для меня решение было: Build Phases - Link Binary With Libraries добавляет libC++ и работает в моем унаследованном проекте.

14

Я бег в подобную проблему, когда я обновлял приложение, которое было создано до Xcode 5.

С Xcode 5 новых проектов построить с помощью модулей, устанавливаемых по умолчанию. В моем старом приложении «Включить модули» установлено значение «Нет». Так что это было решение.

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

+0

Великий спас мой день :) – arunit21

+0

Это не сработало – Questioner

35

Crashlytics и ткани требуют, чтобы связать свою цель на следующем:

  • Security.framework
  • SystemConfiguration.framework
  • LibC++
  • libz

Просто выберите свою цель -> Фазы сборки -> Ссылка на двоичные файлы с библиотеками -> добавьте те, которые отсутствуют.

Надеюсь, это помогло.

+0

Это не сработало. – Questioner

+0

Это работает. Удостоверьтесь, что вы также добавляете это к любым целевым показателям! Это была моя проблема. –

6

Я решил эту проблему, просто добавив $(inherited) к другим флагам компоновщика в настройках сборки.

Смежные вопросы