iOS - 一個工程多個target引入CocoaPods的方式

一個工程多個target引入CocoaPods的方式

(推薦)方式一:通過abstract方式引入

#targetA: [AFNetworking,Masonry]
#targetB:[AFNetworking,SDWebImage]
abstract_target 'abstract_pod' do  #這裏的abstract_pod在實際targets中不存在,是虛擬
    pod 'AFNetworking'
    
    target 'targetA' do
        pod 'Masonry'
    end
    
    target 'targetB' do
        pod 'SDWebImage'
    end
end

方式二:循環target 添加pod

#多個target的pod引入,方式一:如每個pod都引入masonry
targetArray = ['target1','target2']
targetArray.each do |t|
    target t do
        pod 'Masonry', '~> 1.1.0'
    end
end

方式三:提取公共pods 各個target引入

#多個target的pod引入,方式二:如每個pod都引入masonry
def commonPods
    pod 'Masonry', '~> 1.1.0'
end

#工程一:
target 'AnyDoorDemo' do
    commonPods
    pod 'AFNetworking', '~> 3.2.1'
target 'AnyDoorDemoTests' do
    inherit! :search_paths
    pod 'Specta', '~> 1.0.7'
    pod 'OCMock', '~> 3.4.2'
    pod 'Expecta', '~> 1.0.6'
end

  target 'AnyDoorDemoUITests' do
    inherit! :search_paths
    # Pods for testing
  end
end

#工程二:
target 'HostApp' do
    commonPods
end

模板樣例

#添加索引庫索引文件地址
source 'https://github.com/LGLee/MySpaces.git'
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'

#多個target的pod引入
def commonPods
    pod 'Masonry', '~> 1.1.0'
end

#工程一:
target 'AnyDoorDemo' do
    commonPods
    pod 'AFNetworking', '~> 3.2.1'
    
    #測試相關↓
target 'AnyDoorDemoTests' do
    inherit! :search_paths
    pod 'Specta', '~> 1.0.7'
    pod 'OCMock', '~> 3.4.2'
    pod 'Expecta', '~> 1.0.6'
end

  target 'AnyDoorDemoUITests' do
    inherit! :search_paths
    # Pods for testing
  end
end

#工程二:
target 'HostApp' do
    commonPods
end

結束

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章