Ошибки компоновщика при попытке установить новую бета-версию Google Analytics 3.0
Я считаю, что только сегодня Google выпустил новое обновление своей работы в iOS Analytics (версия 3.0). Когда я следую инструкциям и пытаюсь запустить код, я получаю:
Undefined символы для архитектуры armv7: "_inflate", ссылка из: l002 в libGoogleAnalyticsServices.a(NSData + zlib.o) "_deflate", на который ссылаются: l001 в libGoogleAnalyticsServices.a(NSData + zlib.o) "inflateInit2", на который ссылаются: l002 в libGoogleAnalyticsServices.a(NSData + zlib.o) "_deflateEnd", на который ссылаются: l001 в libGoogleAnalyticsServices.a(NSData + zlib.o) "_OBJC_CLASS _ $_ ASIdentifierManager", на который ссылаются: objc-class-ref в libGoogleAnalyticsServices.a(TAGAdvertiserId.o) objc-class-ref в libGoogleAnalyticsServices.a(TAGAdvertisingTrackingEnabledMacro.o) objc-class-ref в libGoogleAnalyticsServices.a(TAGMobileAdwordsUniqueIdMacro.o)
"_inflateEnd", на который ссылаются: l002 в libGoogleAnalyticsServices.a(NSData + zlib.o) "_SCNetworkReachabilityCreateWithName", на который ссылаются: l027 в libGoogleAnalyticsServices.a(GAIReachCheckChecker.o) l002 в libGoogleAnalyticsServices.a(TAGNetReachability.o) "_SCNetworkReachabilitySetCallback", на который ссылаются: l027 в libGoogleAnalyticsServices.a(GAIReachCheckChecker.o) l002 в libGoogleAnalyticsServices.a(TAGNetReachability.o) l003 в libGoogleAnalyticsServices.a(TAGNetReachability.o) "deflateInit2", на который ссылаются: l001 в libGoogleAnalyticsServices.a(NSData + zlib.o) "_SCNetworkReachabilityScheduleWithRunLoop", на который ссылаются: l027 в libGoogleAnalyticsServices.a(GAIReachCheckChecker.o) l002 в libGoogleAnalyticsServices.a(TAGNetReachability.o) "_SCNetworkReachabilityUnscheduleFromRunLoop", на который ссылаются: l027 в libGoogleAnalyticsServices.a(GAIReachCheckChecker.o) l003 в libGoogleAnalyticsServices.a(TAGNetReachability.o) ld: символ не найден для архитектуры armv7 clang: error: linker команда с кодом выхода 1 (используйте -v для вызова вызова)
Возможно, они забыли включить lib, который мне нужно добавить? (некоторые другие аспекты инструкций, которые они также забывали изменить). В противном случае следовали их инструкциям на тройник и до сих пор не получили нужных результатов.
Ответы
Ответ 1
Мне пришлось добавить как libz.dylib
, так и AdSupport.framework
к этапам сборки, чтобы это ушло. Google не включает их в свои инструкции, поэтому, чтобы проверить их, чтобы убедиться, что это нормально, обновите этот пост.
UPDATE: теперь вам нужно добавить libsqlite3.0.dylib
, чтобы заставить его работать.
Ответ 2
Я загрузил версию 3.06 служб Google Analytics для iOS в начале апреля 2014 года, и STILL столкнулся с проблемами, упомянутыми выше. Google обновил свои документы, указав на необходимость ссылки libz.dylib и AdSupport.framework.
РЕШЕНИЕ: Я нашел пробную версию и ошибку, мне также понадобилось связать libsqlite3.dylib, чтобы построить на симуляторе или на устройстве.
Ответ 3
Добавить
libz.dylib
AdSupport.framework
libsqlite3.0.dylib
Google не обновлял свое руководство с 8 октября 2013 года.
Руководство Google Analytics здесь
Ответ 4
Ни один из вышеперечисленных решений не работал у меня. Тем не менее, для меня это добавило:
libz.dylib
libsqlite3.0.dylib
libGoogleAnalyticsServices.a
libGoogleAnalyticsServices.a - это файл, который можно найти в загружаемом для Google Apps для мобильных приложений iOS SDK v3.
Надеюсь, это поможет!
Ответ 5
У меня были libz.dylib
и AdSupport.framework
в соответствии с инструкциями от Google, они отлично работали.
Затем мне пришлось добавить -all_load
в другие флагов компоновщика для какой-либо другой зависимости от библиотеки, затем Google Analytics начала сбой сборки с ошибкой компоновщика.
Мне пришлось добавить структуру libsqlite3.0.dylib
, чтобы заставить ее работать.
Итак, есть что-то делать с -all_load
флагом компоновщика
Ответ 6
До того, как сторонние разработчики не включили BITCODE
для своих старых библиотек, вы можете отключить бит-код в своем собственном проекте, если у вас не будет расширения Apple Watch для вашего приложения.
![введите описание изображения здесь]()