Ошибка компоновщика XCode 5 GM: слишком много компактных функций размотки в функции anon для архитектуры i386
Мы просто обновились до XCode 5 GM, а проект (iPhone, ориентированный только на iOS 7), который построил отлично под DP 5, теперь дает ошибку:
ld: in /Users/dan/Documents/Projects/ImageProApp/Pods/SparkInspector/SparkInspector.framework/SparkInspector(ExplorerViewState.o), too many compact unwind infos in function anon for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Мы используем CocoaPods для включения нескольких компонентов, CocoaAsyncSocket, CocoaLumberack, Spark Inspector и Reachability. Я предполагаю, что если мы удалим Spark Inspector, эта ошибка будет просто ссылаться на другой компонент.
Может кто-нибудь порекомендовать исправление? Скажите мне, какие флагов компилятора/компоновщика должны использовать некомпактную информацию об отдыхе?
Спасибо,
Dan
Ответы
Ответ 1
UPDATE:
Google опубликовала исправление для библиотеки Google Analytics
https://code.google.com/p/analytics-issues/issues/detail?id=338
Смотрите версию v3.01 здесь:
https://developers.google.com/analytics/devguides/collection/ios/resources
FWIW, с библиотекой Google Analytics, ошибка связи происходит только тогда, когда для цели развертывания установлено значение 7.0. Если вы снижаете цель развертывания до 6.1, например, связывание работает без ошибок.
Для справки, в отношении Google Ananlytics, я опубликовал проблему в отслеживании ошибок Google.
Ответ 2
Обходное решение: Создание устройства.
Не так много исправлений, но попробуйте создать приложение для устройства, а не для симулятора. Возможно, это связано с внедрением 64-разрядной версии.
Я могу архивировать свое приложение, но когда я пытаюсь создать/запустить для симулятора, он не удается связать с той же ошибкой, которую вы получаете.
Чтобы быть ясным, я также использую cocoapods.
Ответ 3
изменение "развертывание iOS Цель - нечто меньшее, чем" iOS 7.0 "
внутри
"Проект" → Настройки сборки → Развертывание
работал у меня,
я думаю, что это имеет какое-то отношение к конфигурации, используемой для сборки внешней библиотеки.
я столкнулся с проблемой только с симулятором, когда включен Jot Touch SDK
Ответ 4
этот ответ может немного запоздать, но у меня была такая же проблема с сторонней структурой.
По какой-то причине мы добавили флаг -all_load в настройки сборки, но когда я удалил его, мы смогли построить проект.
Итак, перейдите к:
Проект → Настройки сборки → Другие флаги компоновщика
и удалите флаг -all_load.
Надеюсь, что это поможет.