2

我在我的应用程序中使用 MKStoreKit。现在我也想添加 RestKit,但添加 RestKit 后,我​​在 XCode 中收到以下错误消息:

Duplicate symbol _jk_collectionClassLoadTimeInitialization in [...]/libRestKitJSONParserJSONKit.a(JSONKit.o) and [...]/Objects-normal/armv7/JSONKit.o for architecture armv7

有什么想法我能做些什么吗?

非常感谢!

编辑:如果我从 MKStoreKit 中删除 JSONKit,我会收到以下错误:

在此处输入图像描述

4

2 回答 2

9

该错误是由与 MKStoreKit 捆绑的 JSONKit 框架与`RestKit 也引入了 JSONKit 的事实之间的冲突引起的。

JSONKit.m最简单的解决方案是从您的项目(MKStoreKit 附带的那个)中删除文件并保留JSONKit.h标题。请务必将您的项目与 RestKit 框架提供的 JSONKit 链接。这将允许您的项目“看到” JSONKit,并且链接器将其与捆绑的库链接。

于 2011-12-02T14:55:46.833 回答
2

我对 Deezer 和 AdFonic 静态库有同样的问题。但是这两个库都是闭源的。在这种情况下,解决方案是从库中删除符号。

Nathan de Vries 在这里发布了一个很棒的教程:

http://atnan.com/blog/2012/01/12/avoiding-duplicate-symbol-errors-during-linking-by-removing-classes-from-static-libraries/

于 2012-08-01T08:59:58.670 回答