我在项目中使用Google Analytics时遇到了一些麻烦。
我添加了Google Analytics SDK文档中描述的库,但仍有七个问题。 这是
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)
"_llvm_gcda_emit_arcs", referenced from:
___llvm_gcov_writeout in libGoogleAnalytics_debug.a(GAIUtil.o)
___llvm_gcov_writeout in libGoogleAnalytics_debug.a(GAIDefaultLogger.o)
___llvm_gcov_writeout in libGoogleAnalytics_debug.a(GAI.o)
___llvm_gcov_writeout in libGoogleAnalytics_debug.a(GAITrackerImpl.o)
___llvm_gcov_writeout in libGoogleAnalytics_debug.a(GAIDataStore.o)
___llvm_gcov_writeout in libGoogleAnalytics_debug.a(GAIError.o)
___llvm_gcov_writeout in libGoogleAnalytics_debug.a(GAICoreDataUtil.o)
...
"_llvm_gcda_emit_function", referenced from:
___llvm_gcov_writeout in libGoogleAnalytics_debug.a(GAIUtil.o)
___llvm_gcov_writeout in libGoogleAnalytics_debug.a(GAIDefaultLogger.o)
___llvm_gcov_writeout in libGoogleAnalytics_debug.a(GAI.o)
___llvm_gcov_writeout in libGoogleAnalytics_debug.a(GAITrackerImpl.o)
___llvm_gcov_writeout in libGoogleAnalytics_debug.a(GAIDataStore.o)
___llvm_gcov_writeout in libGoogleAnalytics_debug.a(GAIError.o)
___llvm_gcov_writeout in libGoogleAnalytics_debug.a(GAICoreDataUtil.o)
...
"_llvm_gcda_end_file", referenced from:
___llvm_gcov_writeout in libGoogleAnalytics_debug.a(GAIUtil.o)
___llvm_gcov_writeout in libGoogleAnalytics_debug.a(GAIDefaultLogger.o)
___llvm_gcov_writeout in libGoogleAnalytics_debug.a(GAI.o)
___llvm_gcov_writeout in libGoogleAnalytics_debug.a(GAITrackerImpl.o)
___llvm_gcov_writeout in libGoogleAnalytics_debug.a(GAIDataStore.o)
___llvm_gcov_writeout in libGoogleAnalytics_debug.a(GAIHit.o)
___llvm_gcov_writeout in libGoogleAnalytics_debug.a(GAIError.o)
...
"_llvm_gcda_increment_indirect_counter", referenced from:
-[GAI defaultTracker] in libGoogleAnalytics_debug.a(GAI.o)
-[GAI setDefaultTracker:] in libGoogleAnalytics_debug.a(GAI.o)
-[GAI clientId] in libGoogleAnalytics_debug.a(GAI.o)
-[GAI dispatchInterval] in libGoogleAnalytics_debug.a(GAI.o)
-[GAI setDispatchInterval:] in libGoogleAnalytics_debug.a(GAI.o)
-[GAI trackUncaughtExceptions] in libGoogleAnalytics_debug.a(GAI.o)
-[GAI setTrackUncaughtExceptions:] in libGoogleAnalytics_debug.a(GAI.o)
...
"_llvm_gcda_start_file", referenced from:
___llvm_gcov_writeout in libGoogleAnalytics_debug.a(GAIUtil.o)
___llvm_gcov_writeout in libGoogleAnalytics_debug.a(GAIDefaultLogger.o)
___llvm_gcov_writeout in libGoogleAnalytics_debug.a(GAI.o)
___llvm_gcov_writeout in libGoogleAnalytics_debug.a(GAITrackerImpl.o)
___llvm_gcov_writeout in libGoogleAnalytics_debug.a(GAIDataStore.o)
___llvm_gcov_writeout in libGoogleAnalytics_debug.a(GAIHit.o)
___llvm_gcov_writeout in libGoogleAnalytics_debug.a(GAIError.o)
...
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我不明白我该做什么。你能帮助我吗? 谢谢。对不起我的英文:)
答案 0 :(得分:4)
从项目中删除libGoogleAnalytics_debug.a。
我收到了同样的错误,并意识到错误发生在libGoogleAnalytics_debug.a上。 Google的文档没有说明添加libGoogleAnalytics_debug.a的内容,因此我将其从项目中移除,错误就消失了。
答案 1 :(得分:3)
您需要将AdSupport.framework添加到项目中。 Google的说明中缺少这一点。
答案 2 :(得分:1)
我在添加GAM 3时遇到两个主要问题:
答案 3 :(得分:0)
我在这里回答了一个关于GA的问题:link在那里,我添加了很多关于GA的信息。有2.0beta和3.0的信息(在“EDIT for 3.0:”之后)。我正在使用2.0beta,它可以工作。
答案 4 :(得分:0)
只需使用以下文件:
GAI.h
GAIDictionaryBuilder.h
GAIFields.h
GAILogger.h
GAITrackedViewController.h
GAITracker.h
libGoogleAnalyticsServices.a
您可以在GA示例的CuteAnimal
上看到
答案 5 :(得分:0)
添加AdSupport.framework清除了链接器错误。为我工作。