如何在 cocoapods 中为 podspecs 声明可选的子规范依赖项

How to declare Optional subspec dependency for podspecs in cocoapods

我正在尝试声明一个具有可选子规范依赖项的 podspec。目的是一些可能需要此 SubsSpecDepenedency 的客户端也可以包含 OptionalSubSpec,其余客户端仅获得 main 规范及其依赖项。

我的规范看起来像这样:

Pod::Spec.new do |s|
  s.name             = 'main'
  s.version          = '123234'
  s.author           = { 'name' => 'email@' }
  s.license          = { "Confidential" }
  s.homepage         = 'https://....'
  s.source           = { :http => "URL-for-framework"}
  s.summary          = 'Dynamic framework'
  s.source_files  = 'dummy.m'
  s.preserve_paths  = '*'
  s.ios.deployment_target = '9.0'
  s.dependency 'dependency1', "123"
  s.default_subspec = :none
    s.subspec 'OptionalSubSpec' do |ss|
        ss.dependency 'SubsSpecDepenedency', "456"
    end
end

我不希望 OptionalSubSpec 也与 pod main 一起安装,但即使在 cocoa pod guide 中提到的指定 s.default_subspec = :none 之后,也会安装 SubsSpecDepenedency当我 运行 pod install 仅用于 pod main

如何为我的 podsepc 声明一个可选依赖项,它在安装 main/master 规范时并不总是安装。

将吊舱分成两个子规格。将您想要始终安装的所有内容放在 default_subspec 中。将可选位放在另一个子规范中。

只有在Podfile.

中明确要求,才会安装另一个子规范