Я пытаюсь связать созданную Cocoapods статическую библиотеку с несколькими целями в моем рабочем пространстве. Когда я это делаю, я получаю ошибку дубликатов символов на этапе связывания при создании. Это имеет смысл, поскольку я связываю библиотеку дважды.Cocoapods: Связывание pod с несколькими задачами выдает
Как мне обойти это? Должен ли я ссылаться только на основную цель и включать пути заголовков в Pods в общих целях? Как мне сделать это в Cocoapods? Я мог бы установить пути заголовка в Pods вручную, но, похоже, победил точку использования pod install
.
Ниже приведена моя рабочая станция. Он состоит из основного проекта и нескольких статических библиотек в качестве собственных проектов xcode, которые имеют общий код. Я связываю продукты двух статических библиотечных проектов с главной целью, и они автоматически становятся зависимыми от основной цели.
shared1.xcodeproj -> target shared1
shared2.xcodeproj -> target shared2
main.xcodeproj -> target main
Это мой Podfile:
workspace 'Main.xcworkspace'
xcodeproj 'Main.xcodeproj'
xcodeproj 'Shared1.xcodeproj'
platform :ios
target :ThirdParty, :exclusive => true do
link_with ['main', 'shared1']
pod 'MKNetworkKit'
pod 'SBJSON'
...
end
Решение, с которым я сейчас работаю, - это просто связать только главную цель и вручную отредактировать параметры сборки общих целей, чтобы добавить рекурсивный путь поиска заголовков в каталог Pods BuildHeaders. –
Это лучшее решение, с которым вы столкнулись? –
Это решение, с которым я столкнулся. Это в основном противоположно вашему и требует меньше работы: http://stackoverflow.com/a/17869668/106703 –