18

当我添加谷歌分析库时,我有这个警告

Undefined symbols for architecture armv7:
  "_OBJC_CLASS_$_NSAttributeDescription", referenced from:
      objc-class-ref in libGoogleAnalytics.a(GAICoreDataUtil.o)
      objc-class-ref in libGoogleAnalytics_debug.a(GAICoreDataUtil.o)
  "_OBJC_CLASS_$_NSFetchRequest", referenced from:
      objc-class-ref in libGoogleAnalytics.a(GAIDataStore.o)
      objc-class-ref in libGoogleAnalytics_debug.a(GAIDataStore.o)
  "_NSSQLiteErrorDomain", referenced from:
      l003 in libGoogleAnalytics.a(GAIDataStore.o)

请帮我

4

11 回答 11

41

添加libGoogleAnalytics.a到您的目标设置[Build phases]-[Link Binary with Libraries]。还要检查是否 libsqlite3.0dylib(GA 存储跟踪数据的位置)并CFNetwork.framework根据需要添加到Google Analytics/iOS (version 2.0 beta 3).

PS For GoogleAnalytics/iOS version 3.0 CoreData framework是必需的。

于 2012-10-29T15:10:18.017 回答
13

我有同样的问题NSAttributeDescription。在文档中,这个函数来自CoreData.framework,所以我添加了这个框架,并且在这个问题上没有更多错误。

于 2012-11-07T12:39:33.263 回答
9

Google Analytics SDK for iOS v2 迁移相关的问题。

我不确定要写哪个主题,因为没有确切的问题-我碰到并自己解决了-发现(这个似乎是最接近的(不确定我是否应该打开一个新的) ),但可能对某人有帮助。

问题:

我在“SDKs/GoogleAnalytics SDK”单独的文件夹中安装了我以前的 (1.5.1) SDK 。在 v2 迁移时,我已将新文件放入"SDKs/GoogleAnalytics SDK v2"中。在遵循有关迁移的所有说明(来自 Google 站点)之后(详细地说,这只是从第一个文件夹中删除以前对文件的引用并从新文件夹中添加新的),我开始收到以下错误编译消息:

架构armv7的未定义符号:“_OBJC_CLASS_$_GAI”,引用自:AppDelegate.o 中的 objc-class-ref ld:未找到架构 armv7 的符号 clang:错误:链接器命令失败,退出代码为 1(使用 -v查看调用)

我浏览了谷歌搜索(和stackoverflowing)的第一页,建议的最流行的解决方案是“将'仅构建活动架构'属性设置为' YES '”(我的活动架构是“armv7 armv7s”)。但这根本没有帮助

解决方案:

然而,奇迹发生了。我注意到链接器路径中列出了一个旧目录“SDKs/GoogleAnalytics SDK”。因此,在删除该目录之后(因为我不知道目录列表在设置中的位置),一切都开始编译并像魅力一样工作(也不需要将“仅构建活动架构”设置为“是”对我来说)。

于 2012-11-17T20:04:45.430 回答
7

在 Build settings -> Other Linker Flags 中添加 -lGoogleAnalyticsServices

于 2013-09-24T19:02:21.280 回答
6

我有与上面类似的错误,实际上更多(SDK 2.0 beta 4)。添加分析库/标题后,与这两个框架链接解决了问题:

CoreData.frameworkSystemConfiguration.framework

于 2013-03-04T18:25:23.367 回答
4

我按照教程进行操作。它说要添加

#import "GAI.h"
#import "GAIFields.h"

NameofTheProject-Prefix.pch文件中。

另外添加它解决CoreData.framework了 所有问题。SystemConfiguration.frameworklibz.dylib

于 2014-02-20T18:03:54.060 回答
3

我遇到了这个问题,因为我没有添加libGoogleAnalytics_debug.a文件。当我添加此文件并再次构建项目时,问题才得到解决。

于 2013-04-10T11:11:17.203 回答
0

我有一个奇怪的问题。出于某种原因,当它应该Link Binary With LibrarieslibGoogleAnalytics.a中时,它在Copy Bundle Resources中

希望这可以帮助某人。

于 2013-04-16T19:11:25.433 回答
0

迁移到 SDK 2.0 beta 4 后出现类似问题。通过从Adri 指出的“我的构建设置”>“库搜索路径”中删除旧 GA 库路径来解决。

于 2013-06-25T18:23:42.547 回答
0

我遵循了所有建议,但仍然出现错误XCODE 5.1.1

对我来说,错误出现在目标 > 构建设置 > 架构 > 架构中。

我将值替换为ARCHS_STANDARD_32_BIT,错误消失了。

也许这个libGoogleAnalytics库不是为 64 位架构编译的。

希望这会对某人有所帮助。或者获取为 64 位编译的最新库。

于 2014-05-14T19:37:35.303 回答
0

如果使用Cocoapods ,请确保其他链接器标志只有$(inherited)标志并删除任何子架构标志。

对于框架搜索路径库搜索路径也只设置$(inherited)标志。

在标题桥接文件中放置#import <Google/Analytics.h>

于 2016-07-13T10:48:47.073 回答