ライブラリを一括で管理してくれる存在が必要だったため、CocoaPodsを導入した。

CocoaPodsではPodfileというファイルにて導入したいライブラリを記載し、インストールする。

Podfileにて、各環境(各スキーマ)で同じライブラリを使用するものをまとめて記載したかった

下記がその対応である。

改善前のPodfile

platform :ios, '12.4'

target 'codeApp' do
  use_frameworks!

 # Pods for codeApp
  pod 'SwiftLint'   
  pod 'Alamofire', '5.0.0-rc.2'            
  pod 'SnapKit', '5.0.0'                
  pod 'VegaScrollFlowLayout', '1.1'     
end

target 'codeApp-relase' do
  use_frameworks!

  # Pods for codeApp-relase
  pod 'Alamofire', '5.0.0-rc.2'                
  pod 'SnapKit', '5.0.0'                         
  pod 'VegaScrollFlowLayout', '1.1'      
end

target 'codeApp-staging' do
  use_frameworks!

  # Pods for codeApp-staging
  pod 'Alamofire', '5.0.0-rc.2'             
  pod 'SnapKit', '5.0.0'                        
  pod 'VegaScrollFlowLayout', '1.1'       
end

PodfileはRubyで記載されている。Rubyの文法が通じる。下記のような共通定義での読み込みが可能。

改善後のPodfile

platform :ios, '12.4'

def common_pods
  # Pods for All
  pod 'Alamofire', '5.0.0-rc.2'
  pod 'SnapKit', '5.0.0'
  pod 'VegaScrollFlowLayout', '1.1'
end

target 'codeApp' do
  use_frameworks!

 # Pods for codeApp
  pod 'SwiftLint'             
  common_pods
end

target 'codeApp-relase' do
  use_frameworks!

  # Pods for codeApp-relase
  common_pods            
end

target 'codeApp-staging' do
  use_frameworks!

  # Pods for codeApp-staging
  common_pods                 
end

共通定義できるようになり、無駄な記載・記載漏れが防げるようになった。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください