Дубликат символа _OBJC_IVAR_$_GCOAuth.OAuthParameters ShareKit и RestKit.

Я нахожусь в сложной ситуации, когда последние пару дней я не смог продвинуться в реализации sharekit, потому что я получаю ошибку дублирующегося символа с RestKit. Я работаю с iOS 5.1 и последней версией xcode. У меня установлены обе библиотеки в соответствии с указаниями. Я не понимаю, как удалить ссылки на это из ShareKit или RestKit, не вызывая проблем в одном или другом. Мне действительно нужна помощь в этом... Спасибо.

duplicate symbol _OBJC_IVAR_$_GCOAuth.OAuthParameters in:
    /Users/josephboston/Library/Developer/Xcode/DerivedData/Prowd_Wallet-ezxvmeygcnwgtzehshsnnprpsjww/Build/Products/Debug-iphoneos/libShareKit.a(GCOAuth.o)
    /Users/josephboston/Library/Developer/Xcode/DerivedData/Prowd_Wallet-ezxvmeygcnwgtzehshsnnprpsjww/Build/Products/Debug-iphoneos/libRestKit.a(GCOAuth.o)

мой проект

2 ответа

Решение

Вы получаете эту ошибку, потому что обе платформы используют общую платформу третьей стороны. Так что Xcode жалуется на дубликаты символов. В этом блоге "Как избежать проблем с повторяющимися символами при использовании общих утилит в статической библиотеке" объясняется, как это исправить.

Вот решение, упомянутое там,

Сейчас я работаю над двумя проектами, в которых есть статические библиотечные продукты, которые будут переданы другим разработчикам для использования в их проектах: Audiobus и The Amazing Audio Engine. В обоих случаях я довольно интенсивно использую мой кольцевой буферный код TPCircularBuffer, который может привести к дублированию ошибок символов, если статическая библиотека будет связана с другим проектом, который ее использует.

Используйте препроцессор для автоматического переименования символов на этапе сборки.

Это можно сделать, добавив серию флагов -DOldSymbol=NewSymbol в настройку сборки "Другие флаги C", например, -DTPCircularBuffer=ABCircularBuffer.

введите описание изображения здесь

GCOAuth используется в ShareKit только Evernote SDK. Поэтому, если вы можете жить без Evernote sharer, можно быстро обойти проблему, удалив evernote и evernote sdk из ShareKit, используя детальную установку

Другие вопросы по тегам