我正在尝试构建包含Google Analytics 3.03a的iOS项目。我已经遵循了有关使用-force_load链接器标志的所有说明,但除非我包含AdSupport框架,否则在进行调试构建时总是会收到此错误消息:
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_ASIdentifierManager", referenced from:
objc-class-ref in libGoogleAnalyticsServices.a(TAGAdvertiserId.o)
objc-class-ref in libGoogleAnalyticsServices.a(TAGAdvertisingTrackingEnabledMacro.o)
objc-class-ref in libGoogleAnalyticsServices.a(TAGMobileAdwordsUniqueIdMacro.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
如果我为我的发布版本尝试它,我会得到相同的错误,但对于armv7
架构。
我阅读的所有内容都告诉我,如果我 包含AdSupport框架,那么我的应用会被拒绝,因为我没有投放广告,所以我是不知所措。
这与我的实际项目以及一个全新的空白测试项目一起发生,该项目实际上没有其他链接器标志:
OTHER_LDFLAGS = -force_load ${PROJECT_DIR}/GoogleAnalytics/libGoogleAnalyticsServices.a
据我所知,我根本没有使用跟踪管理器。
答案 0 :(得分:1)
将框架添加为可选框架。我在没有问题的情况下使用Google Analytics提交了应用。