Restkit + MKStoreKit:由于JSONKit而重复的符号

时间:2011-12-02 14:05:15

标签: xcode4 restkit duplicate-symbol mkstorekit

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

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

我能做些什么呢?

非常感谢!

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

enter image description here

2 个答案:

答案 0 :(得分:9)

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

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

答案 1 :(得分: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/