Библиотека IOS Google Analytics
Когда я добавляю библиотеку Google Analytics, у меня есть это предупреждение
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_NSAttributeDescription", referenced from:
objc-class-ref in libGoogleAnalytics.a(GAICoreDataUtil.o)
objc-class-ref in libGoogleAnalytics_debug.a(GAICoreDataUtil.o)
"_OBJC_CLASS_$_NSFetchRequest", referenced from:
objc-class-ref in libGoogleAnalytics.a(GAIDataStore.o)
objc-class-ref in libGoogleAnalytics_debug.a(GAIDataStore.o)
"_NSSQLiteErrorDomain", referenced from:
l003 in libGoogleAnalytics.a(GAIDataStore.o)
Пожалуйста, помогите мне
Ответы
Ответ 1
Добавьте libGoogleAnalytics.a
в целевую настройку [Build phases]-[Link Binary with Libraries]
. Также проверьте, добавлены ли libsqlite3.0dylib
(где хранятся данные отслеживания GA) и CFNetwork.framework
там, где они требуются для Google Analytics/iOS (version 2.0 beta 3)
.
P.S. Для Google Analytics/iOS version 3.0
CoreData framework
требуется вместо этого.
Ответ 2
У меня была такая же проблема на NSAttributeDescription
. В документации эта функция от CoreData.framework
, поэтому я добавил эту фреймворк и больше ошибок в этой проблеме.
Ответ 3
Проблема, связанная с SDK Google Analytics для миграции iOS v2.
Я не уверен, в какую тему писать его, поскольку нет точной проблемы - я наткнулся и решил сам по себе - нашел (этот кажется самым близким (не уверен, что я должен открыть новый)), но может быть полезен для кого-то.
Проблема:
У меня есть мой предыдущий (1.5.1) SDK, установленный в отдельной папке "SDK/GoogleAnalytics SDK. На переносе v2 я поместил новые файлы в " SDK/GoogleAnalytics SDK v2". После выполнения всех инструкций о миграции (с сайта Google) (и, в частности, это было просто удаление предыдущих ссылок на файлы из первой папки и добавление новых из нового), я начал получать следующую ошибку сообщение на компиляции:
Undefined символы для архитектуры armv7: "_OBJC_CLASS _ $_ GAI", ссылка: objc-class-ref в AppDelegate.o ld: символ (-ы) не найден для архитектуры armv7 clang: ошибка: команда компоновщика не удалась с кодом выхода 1 (используйте -v, чтобы увидеть вызов)
Я пошел по первым страницам googling (и stackoverflowing), и самым популярным решением было "установить свойство Build active architecture only" на " YES" "(мои активные архитектуры -" armv7 armv7s"). Но, что НЕ ПОМОГИТЕ вообще.
Решение:
Однако произошло чудо. Я заметил, что существует старый каталог. SDK SDK/GoogleAnalytics SDK был указан в ссылках компоновщика. Итак, после этого каталога, удаляющего (поскольку я не знаю, где список каталогов существует в настройках), все начиналось скомпилировать и работать как шарм (также устанавливая "Только строить активную архитектуру", ДА 'для меня не было необходимости).
Ответ 4
Добавить -lGoogleAnalyticsServices в настройках сборки → Другие флаги компоновщика
Ответ 5
У меня были подобные ошибки, как указано выше, на самом деле больше (SDK 2.0 beta 4). После добавления библиотеки/заголовков Analytics связь с этими двумя структурами решила проблемы:
CoreData.framework
и SystemConfiguration.framework
Ответ 6
Я последовал за этим учебником. В нем говорится добавить
#import "GAI.h"
#import "GAIFields.h"
в файл NameofTheProject-Prefix.pch
.
И дополнительно к CoreData.framework
и SystemConfiguration.framework
добавить libz.dylib
Он решил все проблемы.
Ответ 7
У меня возникла эта проблема, потому что я не добавил файл libGoogleAnalytics_debug.a. Проблема только что решена, так как я добавил этот файл и снова построил проект.
Ответ 8
У меня была проблема с ODD. По какой-то причине libGoogleAnalytics.a
находился в Ресурсах копирования, когда он должен был находиться в Link Binary With Libraries
Надеюсь, это поможет кому-то.
Ответ 9
У вас была такая же проблема после перехода на SDK 2.0 beta 4. Решено, удалив старый путь библиотеки GA из Настройки моей сборки > Пути поиска библиотеки, как указано Adri.
Ответ 10
Я следил за всеми предложениями, и я все еще получал сообщение об ошибке XCODE 5.1.1
.
Для меня ошибка была в целевом > Build Setting > Architecture > Architectures.
Я заменил значение на ARCHS_STANDARD_32_BIT
, и ошибка исчезла.
Возможно, библиотека libGoogleAnalytics
lib не была скомпилирована для 64 архитектуры BIT.
Надеюсь, это поможет кому-то. Или получите последнюю библиотеку, которая скомпилирована для 64 бит.
Ответ 11
При использовании Cocoapods убедитесь, что Другие флаги компоновщика имеют только флаг $(inherited)
и удаляют любые дочерние архитектуры.
Для путей поиска каркаса и путей поиска библиотеки также установлен только флаг $(inherited)
.
Внутри файла моста заголовка введите #import <Google/Analytics.h>