Я использую cocoapods 0.39. Я добавил Cocoa Touch Framework «MyFramework» в качестве отдельной цели для моего проекта Swift. Структура использует Firebase
как зависимость Cocoapod. Я использую MyFramework внутри приложения. Когда я пытаюсь построить приложение я получаю несколько ошибок:Перекрывающиеся отношения подкачки
class … is implemented in both …/MyFramework.framework/MyFramework and …/MyApp.app/MyApp. One of the two will be used. Which one is undefined.
Я понимаю, что эта ошибка об этом, но я не могу это исправить. Если я удалю Firebase
из целевого объекта MyApp, я не могу использовать MyFramework внутри приложения, так как это зависит от него. Это похоже на общую проблему, но, к сожалению, я не могу заставить ее работать.
Мой Podfile выглядит следующим образом:
use_frameworks!
target 'MyApp' do
pod 'Firebase'
end
target 'MyAppTests' do
end
target 'MyFramework' do
pod 'Firebase'
end
target 'MyFrameworkTests' do
pod 'Firebase'
end
Спасибо за ответ. На этот раз я не хочу использовать MyFramework как CocoaPod. Не могли бы вы объяснить «post_install hook»? – sash
@sash Явное объявление зависимостей и добавление 'inherit! search_paths' делает заголовки доступными во время компиляции. См. Мое обновление для решения 'Podfile'. – redent84
FYI этот ответ для Cocoapods 1.0.0 и выше. Для 0.39 вы действительно хотите обновить, но если вам нужно остановиться на 0,39, вы хотите использовать 'link_with' –