Как я могу создать Pod, который включает в себя другие модули - PullRequest
0 голосов
/ 27 февраля 2019

У меня есть коллекция модулей, которые составляют в основном общие, настраиваемые расширения и классы, которые я разделяю между моими приложениями.

Сейчас они являются частью моего Podfile как такового

  pod 'AuthUtils', :git => 'https://github.com/xxxxx/AuthUtils.git', :tag => '4.2'

  pod 'AutoLayoutUtils', :git => 'https://github.com/xxxxx/AutoLayoutUtils.git', :tag => '2.5'

Я хотел бы объединить их в общем модуле Utils, что-то вроде

pod 'MyAppUtils', :git => 'https://github.com/xxxxx/MyAppUtils.git', :tag => '1.0'

С возможностью установки всего, используя MyAppUtils, а также просто установить некоторые модули, например

pod 'MyAppUtils/AuthUtils', :git => 'https://github.com/xxxxx/MyAppUtils.git', :tag => '1.0'

Я видел такое поведение, например, с https://github.com/SwifterSwift/SwifterSwift и https://github.com/mxcl/PromiseKit, но я не понимаю, как реализовать этот подход.

Ответы [ 2 ]

0 голосов
/ 27 февраля 2019

Эти подпроекты в формате «Проект / Подпроект» называются CocoaPods Subspecs .Это подпроекты с определенными исходными папками.

С веб-сайта CocoaPods и предположим, что ваш код для AuthUtils находится внутри папки Sources/AuthUtils, вы можете добавить следующее в Podfile для MyAppUtils:

subspec 'AuthUtils' do |sp|
  sp.source_files = 'Sources/AuthUtils'
end

После публикации вы сможете установить модуль, используя

pod 'MyAppUtils/AuthUtils', :git => 'https://github.com/xxxxx/MyAppUtils.git', :tag => '1.0'

0 голосов
/ 27 февраля 2019

Вы можете использовать subspecs для достижения этой цели.Вы можете перейти к проекту, который реализует subspecs и найти их podspec файл для использования в качестве ссылки, или вы можете найти дополнительную информацию в Руководстве по спецификации CocoaPods

Это примерподспец:

  s.subspec 'SwiftStdlib' do |sp|
    sp.source_files  = 'Sources/Extensions/SwiftStdlib/*.swift'
  end
...