Ошибки компоновщика при попытке установить новую бета-версию 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 для вашего приложения.

введите описание изображения здесь