我正在努力创建一个包含多个子规范的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。这可能吗,或者我需要创建多个规范才能实现此目的?

最佳答案

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



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

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

关于ios - Cocoapod规范,每个子规范具有单独的框架,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38179831/

10-13 03:44