将Google Analytics添加到iOS应用程序会导致错误

时间:2013-09-11 16:06:52

标签: ios google-analytics

我添加了 GAI框架

文件:

- GAI.h - GAIDictionaryBuilder.h - GAIFields.h GAILogger.h - GAITrackedViewController.h - GAITracker.h - libGoogleAnalytics_debug.a

但是当我尝试构建项目时,它显示了这样的错误:

Undefined symbols for architecture i386:
  "_llvm_gcda_emit_arcs", referenced from:
      ___llvm_gcov_writeout in libGoogleAnalytics_debug.a(GAI.o)
      ___llvm_gcov_writeout in libGoogleAnalytics_debug.a(GAIUncaughtExceptionHandler.o)
      ___llvm_gcov_writeout in libGoogleAnalytics_debug.a(GAIBatchingDispatcher.o)
      ___llvm_gcov_writeout in libGoogleAnalytics_debug.a(GAIDataStore.o)
      ___llvm_gcov_writeout in libGoogleAnalytics_debug.a(GAIDefaultLogger.o)
      ___llvm_gcov_writeout in libGoogleAnalytics_debug.a(GAIStringUtil.o)
      ___llvm_gcov_writeout in libGoogleAnalytics_debug.a(GAITrackerImpl.o)
      ...

"_llvm_gcda_emit_function", referenced from:
      ___llvm_gcov_writeout in ...

"_llvm_gcda_end_file", referenced from:
      ___llvm_gcov_writeout in ...

"_llvm_gcda_increment_indirect_counter", referenced from:
      -[GAI defaultTracker] in libGoogleAnalytics_debug.a(GAI.o)
      -[GAI setDefaultTracker:] in libGoogleAnalytics_debug.a(GAI.o)
      ...

"_llvm_gcda_start_file", referenced from:
      ___llvm_gcov_writeout in ...

ld:找不到架构i386的符号 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)

导致此错误的原因是什么?

更新:

// AppDelegate.h

@property (nonatomic, retain) id<GAITracker> tracker;

// AppDelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{


[GAI sharedInstance].optOut = YES;
[GAI sharedInstance].dispatchInterval = 120;
[GAI sharedInstance].trackUncaughtExceptions = YES;
self.tracker = [[GAI sharedInstance] trackerWithName: kTrackerName
                                          trackingId: kTrackingId];

//other code 

return YES;
}

8 个答案:

答案 0 :(得分:11)

我有同样的错误:只需将“libGoogleAnalyticsServices.a”添加到您的文件中,如下所示:

libGoogleAnalyticsServicesXcode5

我希望这可以帮到你。这对我有用;)

++

答案 1 :(得分:8)

除了README文件中指定的所有库和框架之外,您还需要包含 AdSupport.framework libGoogleAnalyticsServices.a (而不是libGoogleAnalytics_debug.a)在编译模拟器时摆脱构建错误。

答案 2 :(得分:4)

您必须添加以下类:

enter image description here

如果添加这些,它将正常工作。

我认为最好的是你设置:

[GAI sharedInstance].dispatchInterval = 0;

答案 3 :(得分:4)

我收到了大量的sqlite错误,而且网站文档很差,但是自述文件是正确的。所需框架清单:

   CoreData.framework
   Foundation.framework
   SystemConfiguration.framework
   UIKit.framework
   libsqlite3.dylib
   libz.dylib

答案 4 :(得分:3)

我们刚刚遇到过这个问题,这有点过时了,所以这是一个更新的答案。他们按照Google Analytics website上的说明操作后遇到的问题,他们会指示您添加以下文件GAI.hGAIDictionaryBuilder.hGAILogger.hGAITrackedViewController.h,{ {1}}和GAITracker.h库。他们完全忘记包含在网站上的说明是您必须包含libGoogleAnalytics_debug.a库的内容。这包含在压缩下载中,但没有说明指示将其包含在调试版本中。

注意libGoogleAnalyticsServices.a readme.txt被称为libGoogleAnalyticsServices.a Google无法更新其文档以包含新名称或正确的说明这表明这在调试中是必需的。

大多数文件和库

libGoogleAnalytics.a

答案 5 :(得分:2)

特别是在使用 Xcode 5.0 时,我开始遇到类似的奇怪错误。即使在尝试运行以前完美运行的现有项目时也是如此。删除和重新添加文件似乎没有任何效果。

我发现的答案是检查项目构建设置下的搜索路径。 (构建设置选项卡,然后搜索“搜索路径”)。

“库搜索路径”值都已将反斜杠添加到位置。

之前:"\$(SRCROOT)/The\ App\ Name/Resources/Libraries/Google\"

而不是:

之后:"$(SRCROOT)/The App Name/Resources/Libraries/Google"

删除反斜杠修复了我遇到的任何问题和错误。

我不确定Xcode何时或为何更改这些值,但这就是导致我的情况中断的原因。

答案 6 :(得分:1)

我刚刚更改了libGoogleAnalyticsServices.a的Google Analytics调试库(libGoogleAnalytics_debug.a)并且运行良好。

答案 7 :(得分:0)

请先在GA示例文件夹中打开CuteAnimal示例,如果您展开Goog​​le Analytics Library,您会看到以下文件:

GAI.h
GAIDictionaryBuilder.h
GAIFields.h
GAILogger.h
GAITrackedViewController.h
GAITracker.h
libGoogleAnalyticsServices.a