[iOS] CocoaPodsによって自動生成されるターゲットのBuild Settingsを変更する
はじめに
こんにちは。モバイルアプリサービス部の平屋です。
CocoaPodsによって自動生成されるターゲットのBuild Settingsを変更する機会があったので、その方法を紹介します。
検証環境
- macOS High Sierra 10.13.5
- Xcode Version 9.4.1
- cocoapods Version 1.5.3
実装
Podfileの中にBuild Settingsを変更する処理を書きます。
post_install
フックを使用して、ライブラリのインストール後にBuild Settingsの値を変更します。
以下の例では、Alamofire
とRxSwift
ターゲットのSWIFT_OPTIMIZATION_LEVEL
を変更しています。
platform :ios, '10.0' use_frameworks! target 'SampleApp' do pod 'Alamofire' pod 'RxSwift' end # インストール後に実行される処理 post_install do |installer| # 変更対象のターゲット名 target_names = ["Alamofire", "RxSwift"] target_names.each do |target_name| # 変更対象のターゲット を探す pods_target = installer.pods_project.targets.find{ |target| target.name == target_name } unless pods_target raise ::Pod::Informative, "Failed to find '" << target_name << "' target" end # ビルド設定を追加 pods_target.build_configurations.each do |config| # Debug/Debug_Mockターゲットのみ変更する if config.name == 'Debug' || config.name == 'Debug_Mock' config.build_settings['SWIFT_OPTIMIZATION_LEVEL'] = '-Onone' end end end end