リポジトリのswiftlint
のバージョンを固定したい時に。
Carthageはバイナリの配布をサポートしていないのでCocoaPodsで管理する。
が、他のライブラリをCarthageで管理している場合、バイナリを利用するためだけにxcworkspace
を使うのは気持ちよくないのでオプションを探してみた。
CocoaPods/CocoaPods
ドキュメントにはxcworkspace
を作らないようにするオプションについての記述が見当たらなかったため、ソースコードを読むことにした。(見落としていただけかも)
どうやら、integrate_targets
をfalse
にすればcreate_workspace
が実行されないようだ。
試しに以下のPodfile
で試したところ、Pods
ディレクトリのみが作成された。xcworkspace
の無い綺麗な世界の完成
Podfile
platform :ios, '11.0'
install! 'cocoapods', :integrate_targets => false
target 'App' do
pod 'SwiftLint'
end
注意点
integrate_targets
をfalse
にすると、$PODS_ROOT
などの環境変数は使えなくなる。
そのため、$PODS_ROOT
を ${SRC_ROOT}/Pods
に置き換える必要がある。