2012-02-28 3 views
3

у меня есть какие-то серьезные проблемы ... Мне нужно построить проект от другого разработчика в ИОС 5 и Xcode 4.2, который, который библиотека как RestKit и Three20 ...Restkit и Three20 с iOS5

Сначала я удаляемых эти две библиотеки и использовали свежие копии двух ... они были построены, но я узнал, что другой разработчик отредактировал restkit и использовал три20 внутри restkit также ... Поэтому мне нужно сохранить старый restkit ... тогда restkit в порядке, но Я должен был интегрировать Three20 как к моей основной и restkit проекта ... потом я интегрированный that..after интеграции я нашел эту ошибку ..

ld: duplicate symbol _OBJC_CLASS_$_TT_FIX_CATEGORY_BUG_UISplitViewController_TTNavigator in /Users/mdrezaurrahman/Library/Developer/Xcode/DerivedData/Fake_Conversation-dyigdwifnataxadzsxfirsdjnhsc/Build/Products/Debug-iphonesimulator/libThree20UICommon.a(UISplitViewController+TTNavigator.o) and /Users/mdrezaurrahman/Library/Developer/Xcode/DerivedData/Fake_Conversation-dyigdwifnataxadzsxfirsdjnhsc/Build/Products/Debug-iphonesimulator/libRestKit.a(UISplitViewController+TTNavigator.o) for architecture i386 

Command/Developer/Платформы/Иф oneSimulator.platform/Developer/usr/bin/clang не удалось с кодом выхода 1

Тогда я подумал, что это потому, что два проекта используют одни и те же библиотеки одновременно. Затем я использовал две копии Three20 и интегрировал один с основным проектом а другой с restkit проектом

тогда я столкнулся с этой ошибкой

ld: duplicate symbol _OBJC_IVAR_$_TTSectionedDataSource._items in /Users/mdrezaurrahman/Library/Developer/Xcode/DerivedData/Fake_Conversation-bbrkduxuzifkumgngujfpbbboyzb/Build/Products/Debug-iphonesimulator/libRestKit.a(TTSectionedDataSource.o) and /Users/mdrezaurrahman/Library/Developer/Xcode/DerivedData/Fake_Conversation-bbrkduxuzifkumgngujfpbbboyzb/Build/Products/Debug-iphonesimulator/libThree20UI.a(TTSectionedDataSource.o) for architecture i386 

Команда /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/clang не удался с кодом выхода 1

Я думаю, это такая же ошибка ... может кто-нибудь ли мне путь?

ответ

1

Похоже, вы пытаетесь связать две копии библиотеки Three20 в один бинарный файл. Это не сработает. Если копия RestKit, которую вы получили, уже содержит три20, вам не нужно будет связывать ее отдельно. Если он содержит только часть Three20, попробуйте избавиться от этой части.

+1

есть некоторые заголовочные файлы #import , который показывал ошибку и путь поиска заголовка в порядке на restkit ... но в режиме restkit не было трехсот двоичных файлов ... они вызывали его из двоичного файла родительский проект ... все вещи кажутся настолько запутанными –

+0

В сообщениях об ошибках четко указано, что libRestKit.a содержит символ TTSectionedDataSource. Вы уже упомянули, что вам нужно было «интегрировать» три20 в RestKit и ваш основной проект. Я думаю, ошибка произошла там. Оба RestKit и ваш основной должны иметь возможность находить заголовки Three20, но только один из них (скорее всего, основной) должен связать Three20. – tonklon

+0

путь поиска заголовка цели restkit is ../three20/Build/Products/three20 three20 как restkit, так и папка three20 находятся в одном и том же родительском каталоге ... для подтверждения мой подход правильный? Я взял новую копию старого проекта ... –