谷歌分析和 ShareKit
Posted
技术标签:
【中文标题】谷歌分析和 ShareKit【英文标题】:Google Analytics and ShareKit 【发布时间】:2013-09-24 13:35:23 【问题描述】:我一直在尝试将 Sharekit 集成到一个已经有谷歌分析的项目中。
我遵循了 sharekit git wiki 上的安装指南,它告诉我包含“其他链接器标志”“-ObjC”和“-all_load”
但是,当我尝试编译时,我在谷歌分析中遇到重复的符号错误,例如:
duplicate symbol _OBJC_IVAR_$_OAServiceTicket.data in:
/Users/x3ro/Library/Developer/Xcode/DerivedData/APPNAME-bgfudbwainndvsdmvtafsrwfryvz/Build/Intermediates/APPNAME.build/Debug-iphonesimulator/APPNAME.build/Objects-normal/i386/OAServiceTicket.o
/Users/x3ro/APPNAME/Developer/Xcode/DerivedData/APPNAME-bgfudbwainndvsdmvtafsrwfryvz/Build/Products/Debug-iphonesimulator/libShareKit.a(OAServiceTicket.o)
删除标志可以解决这些错误,但是我知道这不是一个好主意,而且我很可能会遇到问题。在获得标志和两个库一起工作方面的任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:将链接器标志“-force_load”与 Sharekit 的路径一起使用。
看起来像这样:
-force_load $(BUILT_PRODUCTS_DIR)/libRestKit.a
来自 Apple 文档:
-all_load 强制链接器从它看到的每个存档中加载所有目标文件,即使是那些没有 Objective-C 代码的文件。 -force_load 在 Xcode 3.2 及更高版本中可用。它允许对存档加载进行更细粒度的控制。每个 -force_load 选项后面必须跟一个存档路径,并且该存档中的每个目标文件都将被加载。
您可以通过此相关帖子找到其他答案: Using the force_load linker flag with RestKit (ios)
【讨论】:
以上是关于谷歌分析和 ShareKit的主要内容,如果未能解决你的问题,请参考以下文章