Сейчас я занимаюсь разработкой нескольких приложений для iOS, которые используют несколько общих сторонних библиотек, плюс некоторый собственный общий код.
Это мой макет папки:
- three20 /
Общая настройка всех моих приложений:
-Shared/*chibiORM* (ORM layer)
-Shared/**BaseApp** (This link to chibiORM & three20)
---------------/Libs/(Several small 3dparty libs)
Это приложение должно иметь ссылку на BaseApp и иметь доступ к библиотекам three20, chibiORM и 3dparty party ..
- App1
- App2
- AppN...
Я знаю, как связать статическую библиотеку с одним проектом, но не могу выполнить эту настройку с несколькими ссылками, где BaseApp ссылается на three20, chibiORM, другие утилиты и App1..N ссылаются на все предыдущие.
Я предпочитаю не связываться с каждым по одному (мои текущие настройки), но вместо этого все они за один раз.
Я могу прекрасно скомпилировать BaseApp и просто добавить проект / перетащить и отпустить) в приложение 1.Затем я помещаю заголовки / frameworks / пути к библиотекам, чтобы они указывали на все из них (интересно, можно ли это упростить до одного пути вместо 5), но я получаю эти ошибки для каждой библиотеки, связанной с BaseApp:
Undefined symbols for architecture i386:
"__ALog", referenced from:
-[App1AppDelegate closeDb] in App1AppDelegate.o
-[App1AppDelegate application:didFinishLaunchingWithOptions:] in App1AppDelegate.o
-[BoardViewController cardSelected:indexPath:] in BoardViewController.o
-[BoardViewController gestureRecognizerShouldBegin:] in BoardViewController.o
-[BoardViewController moveActionGestureRecognizerStateChanged:] in BoardViewController.o
-[BoardViewController finishedSnap:finished:context:] in BoardViewController.o
-[BoardViewController animationDidStop:finished:context:] in BoardViewController.o
...
"_sqlite3_unicode_free", referenced from:
-[App1AppDelegate closeDb] in App1AppDelegate.o
"_sqlite3_unicode_load", referenced from:
-[App1AppDelegate application:didFinishLaunchingWithOptions:] in App1AppDelegate.o
"_OBJC_CLASS_$_Db", referenced from:
objc-class-ref in App1AppDelegate.o
Возможно ли это?