在 Xcode 5 中将 Google Analytics 更新到 3.0.1 后,我现在在为模拟器构建时遇到此错误。设备版本虽然没有这个问题。
Undefined symbols for architecture i386:
"_llvm_gcda_emit_arcs", referenced from:
___llvm_gcov_writeout in libAPDK.a(GAITrackerImpl.o)
___llvm_gcov_writeout in libAPDK.a(GAIBatchingDispatcher.o)
___llvm_gcov_writeout in libAPDK.a(GAIRequestBuilder.o)
___llvm_gcov_writeout in libAPDK.a(GAIUtil.o)
___llvm_gcov_writeout in libAPDK.a(GAIDefaultLogger.o)
___llvm_gcov_writeout in libAPDK.a(GAIDataStore.o)
___llvm_gcov_writeout in libAPDK.a(GAIHitUtil.o)
...
"_llvm_gcda_emit_function", referenced from:
___llvm_gcov_writeout in libAPDK.a(GAITrackerImpl.o)
___llvm_gcov_writeout in libAPDK.a(GAIBatchingDispatcher.o)
___llvm_gcov_writeout in libAPDK.a(GAIRequestBuilder.o)
___llvm_gcov_writeout in libAPDK.a(GAIUtil.o)
___llvm_gcov_writeout in libAPDK.a(GAIDefaultLogger.o)
___llvm_gcov_writeout in libAPDK.a(GAIDataStore.o)
___llvm_gcov_writeout in libAPDK.a(GAIHitUtil.o)
...
"_llvm_gcda_end_file", referenced from:
___llvm_gcov_writeout in libAPDK.a(GAITrackerImpl.o)
___llvm_gcov_writeout in libAPDK.a(GAIBatchingDispatcher.o)
___llvm_gcov_writeout in libAPDK.a(GAIRequestBuilder.o)
___llvm_gcov_writeout in libAPDK.a(GAIUtil.o)
___llvm_gcov_writeout in libAPDK.a(GAIDefaultLogger.o)
___llvm_gcov_writeout in libAPDK.a(GAIDataStore.o)
___llvm_gcov_writeout in libAPDK.a(GAIHit.o)
...
"_llvm_gcda_increment_indirect_counter", referenced from:
-[GAITrackerImpl gai_set:value:] in libAPDK.a(GAITrackerImpl.o)
-[GAITrackerImpl gai_get:] in libAPDK.a(GAITrackerImpl.o)
-[GAITrackerImpl gai_send:] in libAPDK.a(GAITrackerImpl.o)
-[GAIBatchingDispatcher batchBySessionSplit:maxHits:] in libAPDK.a(GAIBatchingDispatcher.o)
-[GAIBatchingDispatcher hitsForDispatch] in libAPDK.a(GAIBatchingDispatcher.o)
-[GAIBatchingDispatcher nextPendingHits] in libAPDK.a(GAIBatchingDispatcher.o)
-[GAIBatchingDispatcher queueDispatch:] in libAPDK.a(GAIBatchingDispatcher.o)
...
"_llvm_gcda_start_file", referenced from:
___llvm_gcov_writeout in libAPDK.a(GAITrackerImpl.o)
___llvm_gcov_writeout in libAPDK.a(GAIBatchingDispatcher.o)
___llvm_gcov_writeout in libAPDK.a(GAIRequestBuilder.o)
___llvm_gcov_writeout in libAPDK.a(GAIUtil.o)
___llvm_gcov_writeout in libAPDK.a(GAIDefaultLogger.o)
___llvm_gcov_writeout in libAPDK.a(GAIDataStore.o)
___llvm_gcov_writeout in libAPDK.a(GAIHit.o)
...
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
更新
我开始认为谷歌提供的 .a 文件可能没有 i386 弧。从 v3.0 更新到 3.0.1 后问题开始出现。