0

我一直在尝试将 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)

删除标志可以解决这些错误,但是我知道这不是一个好主意,我很可能会遇到问题。在获得标志和两个库一起工作方面的任何帮助将不胜感激。

4

1 回答 1

0

将链接器标志“-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)

于 2014-02-06T11:32:29.003 回答