Restkit + MKStoreKit: дублированный символ из-за JSONKit - PullRequest
2 голосов
/ 02 декабря 2011

Я использую MKStoreKit в своем приложении.Теперь я хотел бы также добавить RestKit, но после добавления RestKit я получаю следующее сообщение об ошибке в XCode:

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

Есть идеи, что я могу с этим поделать?

Спасибо большое!

РЕДАКТИРОВАТЬ : Если я удаляю JSONKit из MKStoreKit, я получаю следующую ошибку:

enter image description here

Ответы [ 2 ]

9 голосов
/ 02 декабря 2011

Эта ошибка вызвана конфликтом между платформой JSONKit, входящей в комплект MKStoreKit, и тем фактом, что `RestKit также включает JSONKit.

Самое простое решение - удалить файл JSONKit.m из вашего проектатот, который пришел с MKStoreKit) и сохранить заголовок JSONKit.h.Обязательно свяжите свой проект с JSONKit, который предоставляется с фреймворком RestKit.Это позволит вашему проекту «увидеть» JSONKit, а компоновщик свяжет его со связанной библиотекой.

2 голосов
/ 01 августа 2012

У меня была такая же проблема со статической библиотекой Deezer и AdFonic. Но обе библиотеки с закрытым исходным кодом. В этом случае решение состоит в том, чтобы удалить символы из библиотеки.

Натан де Врис опубликовал здесь великолепное руководство:

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

...