2016-07-04 34 views
2

我很努力創建包括多個子規格的cocoapod規範,其中每個子規範應該是它自己的框架。 基本上我有以下規格: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

簡而言之:不,你不能有導致不同框架的子規格,因爲 - 顧名思義 - 它是一個規範,這是某種東西的一部分。從cocoapod docs

subspec

代表了庫的模塊規格。

但它會導致不同的框架內,當你在一個項目中使用它,其文件名是BMCommons-BMCoreBMCommons-BMUICore。他們導入的實際框架名稱將保持BMCommons

您可以通過創建一個包含2個目標的項目來嘗試這項工作,並且在Podfile中爲一個目標添加第一個子規格,爲另一個目標添加第二個目標。在pod安裝之後,您應該看看pod項目中的目標,這裏是由cocoapod生成的框架。