Настройка Cocoapods с существующей статической библиотекой и приложением iOS
У меня проблемы с получением моей рабочей области для правильной компиляции с Cocoapods. В рабочей области есть 3 проекта, каждый со своей целью:
libPods - статическая библиотека Cocoapods со всеми внешними зависимостямиlibCommon - моя статическая библиотека, где я храню весь свой общий код (базовые контроллеры, сетевой код, общий интерфейс и т. д.)myApp - приложение для iOSИ libCommon, и myApp требуют внешних зависимостей от libPods. Первоначально я думал, что это будет работать так:
libPods строитlibCommon ссылки на libPods и сборкиmyApp связывает с libCommon и собираетВ этом сценарии libCommon «владеет» модулями, а затем myApp просто ссылается на libCommon, как я всегда делал до Cocoapods ... но, очевидно, статические библиотеки не любят связываться со статическими библиотеками (я получил кучу ошибки динамической библиотеки). Я где-то читал о проблеме github, что вместо этого я должен собрать libPods и libCommon, а затем myApp должен связать обе библиотеки. Прямо сейчас мой подфайл выглядит примерно так:
workspace 'MyApp.xcworkspace'
platform :ios, '5.0'
link_with ['Common', 'MyApp']
target 'MyApp' do
xcodeproj 'MyApp.xcodeproj'
pod 'AFNetworking', '1.1.0'
pod 'TTTAttributedLabel', '1.6.0'
pod 'JSONKit', '1.5pre'
pod 'Reachability', '3.1.0'
end
При такой настройке myApp владеет всеми модулями, а затем в настройках сборки libCommon я указываю путь к заголовкам модулей. Это нормально, пока я не попытаюсь использовать один из классов в libCommon. Как только я это сделаю, я получу один из тех_OBJC_CLASS_$_Blah
ошибки (которые говорят мне, что, хотя заголовки доступны, они все еще не связаны должным образом). Когда я пытаюсь вручную связать libCommon в «Фазах сборки», я получаю кучу повторяющихся ошибок символов (что заставляет меня думать, что это уже связано?). Какого черта?
Как это сделать правильно и как должен выглядеть мой подфайл?