Cocoapod规范与每个子规范的单独框架

时间:2016-07-04 08:16:34

标签: ios cocoapods

我正在努力创建包含多个子规格的cocoapod规范,其中每个子规范应该是它自己的框架。 基本上我有以下规范:

Pod::Spec.new do |s|
  s.name     = 'BMCommons'
  ...
  s.default_subspec = 'BMCore'

  s.subspec 'BMCore' do |s_core|
    s_core.header_dir = 'BMCore'
    ...
  end

  s.subspec 'BMUICore' do |s_uicore|
    s_uicore.header_dir = 'BMUICore'
    ...
  end
end

现在我希望这会导致BMCore.framework和BMUICore.framework而不是一个BMCommons.framework。这是可能的还是我需要创建多个规格来实现这一目标?

1 个答案:

答案 0 :(得分:1)

简而言之:不,您不能拥有导致不同框架的子规格,因为 - 顾名思义 - 它是 sub 规范,这是某些事情的一部分。来自cocoapod docs

  

<强> subspec

     

表示库模块的规范。

但是当你在项目中使用它时,它会在内部产生单独的框架,它们的文件名是 BMCommons-BMCore BMCommons-BMUICore 。您导入的实际框架名称将保持 BMCommons

您可以通过创建具有2个目标的项目来尝试此操作,并在Podfile中为一个目标添加第一个子规范,而另一个目标则添加第二个子目录。在 pod安装之后,您应该查看 Pods 项目中的目标,cocoapod会生成框架。