使用具有本地依赖关系的多个目标创建podspec

时间:2017-01-05 22:04:59

标签: xcode cocoapods podspec

  • 我有一个用于MyLib的podspec。
  • MyLib.xcworkspace有两个目标:MyLib目标和MySubLib目标。
  • MyLib依赖于MySubLib。
  • 使用import Cocoapod的快速模块中,MyLib和MySubLib都应该MyLib

插图:

MyLib.xcworkspace

  • MyLib目标< ---取决于--- MySubLib
    • MyLib pods依赖项
  • MySubLib目标

我们如何实现这一目标?

我有以下podspec但是在linting MySubLib找不到MyLib中的import

Pod::Spec.new do |s|
  s.name             = "MyLib"
  s.version          = "0.1"
  s.summary          = ""

  s.description      = <<-DESC

                       DESC

  s.homepage         = "https://github.com/me/MyLib"
  s.license          = 'MIT'
  s.author           = { "me" => "me@me.com" }
  s.source           = { :git => "https://github.com/me/MyLib.git", :tag => s.version.to_s }

  s.platform     = :ios, '8.0'
  s.requires_arc = true

  s.dependency 'Alamofire'

  s.source_files = 'MyLib/**/*.swift', 'MySubLib/**/*.swift'
  s.resource_bundles = {
  }

end

1 个答案:

答案 0 :(得分:0)

您可以使用subspec。我在我的框架L10n-swift中使用它。

  

库可以指定对另一个库的依赖关系a   另一个库的子规范,或者它自身的子规范。

回到你的问题

Pod::Spec.new do |s|
    s.name             = "MyLib"
    s.version          = "0.1"
    s.summary          = ""

    s.description      = <<-DESC

    DESC

    s.homepage         = "https://github.com/me/MyLib"
    s.license          = 'MIT'
    s.author           = { "me" => "me@me.com" }
    s.source           = { :git => "https://github.com/me/MyLib.git", :tag => s.version.to_s }

    s.platform     = :ios, '8.0'
    s.requires_arc = true

    s.subspec 'MySubLib' do |mySubLib|
        mySubLib.dependency 'Alamofire'
        mySubLib.source_files = 'MySubLib/**/*.swift'
    end

    s.subspec 'MyLib' do |myLib|
        myLib.dependency 'MyLib/MySubLib'
        myLib.source_files = 'MyLib/**/*.swift'
    end

    s.resource_bundles = { }
end

您还可以定义default_subspec

  

应该作为首选使用的子目录名称数组   依赖。如果没有指定,规格要求全部   子规则作为依赖。

相关问题