Google Analytics не работает над новым проектом iOS
Я создал новый проект iOS и добавил поддержку Google Analytics, следуя официальным инструкциям.
Я добавил к Frameworks:
libGoogleAnalyticsServices.a
AdSupport.framework
CoreData.framework
SystemConfiguration.framework
libz.dylib
Но это не работает с ошибками:
ld: warning: directory not found for option '-L/Users/.../Sources/GoogleAnalytics'
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_NSManagedObjectModel", referenced from:
objc-class-ref in libGoogleAnalyticsServices.a(GAICoreDataUtil.o)
"_OBJC_CLASS_$_NSAttributeDescription", referenced from:
objc-class-ref in libGoogleAnalyticsServices.a(GAICoreDataUtil.o)
"_OBJC_CLASS_$_NSEntityDescription", referenced from:
objc-class-ref in libGoogleAnalyticsServices.a(GAIDataStore.o)
objc-class-ref in libGoogleAnalyticsServices.a(GAICoreDataUtil.o)
"_OBJC_CLASS_$_NSPersistentStoreCoordinator", referenced from:
objc-class-ref in libGoogleAnalyticsServices.a(GAIDataStore.o)
"_OBJC_CLASS_$_NSFetchRequest", referenced from:
objc-class-ref in libGoogleAnalyticsServices.a(GAIDataStore.o)
"_OBJC_CLASS_$_NSManagedObjectContext", referenced from:
objc-class-ref in libGoogleAnalyticsServices.a(GAIDataStore.o)
"_NSSQLiteErrorDomain", referenced from:
-[GAIDataStore performBlockAndWait:withError:] in libGoogleAnalyticsServices.a(GAIDataStore.o)
"_NSSQLiteStoreType", referenced from:
-[GAIDataStore coordinatorWithModel:URL:] in libGoogleAnalyticsServices.a(GAIDataStore.o)
"_NSOverwriteMergePolicy", referenced from:
-[GAIDataStore contextWithModel:URL:] in libGoogleAnalyticsServices.a(GAIDataStore.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Как я могу это исправить? Поддерживает ли он arm64?
Ответы
Ответ 1
Спасибо всем! Следующие шаги помогли мне:
- Удалите
CoreData.framework
.
- Добавить еще раз
CoreData.framework
.
arm64 теперь поддерживается. Благодаря Амару.
Теперь я должен исправить последнее предупреждение:
ld: warning: directory not found for option '-L/Users/.../Sources/GoogleAnalytics'
Это происходит потому, что я работаю с проектом для разных пользователей.
Ответ 2
Из страницы
В SDK Google Analytics используются рамки CoreData и SystemConfiguration, поэтому вам нужно добавить в целевые связанные библиотеки приложений следующие:
- libGoogleAnalyticsServices.a
- AdSupport.framework
- CoreData.framework
- SystemConfiguration.framework
- libz.dylib
Похоже, вам не хватает CoreData.framework
.
Запуск команды lipo -info
в библиотеке GA.
xcrun -sdk iphoneos lipo -info libGoogleAnalyticsServices.a
Дает результат,
Architectures in the fat file: libGoogleAnalyticsServices.a are: armv7 armv7s i386 x86_64 arm64
Поэтому он поддерживает arm64.
Надеюсь, что это поможет!
Ответ 3
Вы должны добавить файл libsqlite3.0.dylib
в свои рамки.
Чтобы сделать это, под целевой целью проектов, на общей вкладке вы найдете "Связанные структуры и библиотеки", просто выберите кнопку "+" и добавьте фреймворк оттуда