Несколько проектов и Cocoapods

Я хочу иметь Рабочее пространство, содержащее два проекта (два разных приложения), Общий (общий) проект и пару Pods.

Я пытаюсь заставить проект App1 "видеть" общие классы.

Мое мышление:

  • Создать рабочее пространство
  • Создайте два проекта приложения (App1 и App2)
  • Создать общий проект
  • Создать подфайл

Подфайл, который у меня есть, соответствует следующим строкам:

workspace 'MyApps'
xcodeproj 'App1/App1.xcodeproj'
xcodeproj 'App2/App2.xcodeproj'
xcodeproj 'Common/Common.xcodeproj'

target :App1 do
    platform :ios, '6.0'
    pod 'AFNetworking', '~> 1.3.2'
    xcodeproj 'App1/App1.xcodeproj'
end

target :App2 do
    platform :ios, '6.0'
    pod 'AFNetworking', '~> 1.3.2'
    xcodeproj 'App2/App2.xcodeproj'
end

target :Common do
    platform :ios, '6.0'
    pod 'AFNetworking', '~> 1.3.2'
    xcodeproj 'Common/Common.xcodeproj'
end

Я видел этот вопрос, но я не могу заставить Common Code быть доступным в Приложениях.

Нужно ли вручную обновлять пути поиска для каждого из проектов Apps, чтобы заставить его работать, или это можно решить с помощью подфайла?

Ответ 1

У меня была аналогичная проблема на работе, и я обнаружил, что лучше изменить структуру проекта для работы с Cocoapods.

Я думаю, что правильное решение для вас или, по крайней мере, правильный путь к одному - превратить ваш общий проект в локальный (см. "Использование файлов с локального пути" здесь), частный файл.

i реализовал мой общий проект как таковой, и мой проект приложения также настроен с помощью CocoaPods, используя этот частный модуль.

последнее примечание, при создании общего проекта библиотеки через CocoaPods вы захотите переопределить параметр сборки "Другие компоновщики флагов" в этом проекте, как и в проекте Pods, создаваемом и управляемом CocoaPods.

¡дайте мне знать, если это сработает для вас!