要件
私が理解している限り、あなたの要件は次のとおりです。
- Cocoapods、GitHub などの xcconfig ファイルをダウンロードします。
- プロジェクトおよびターゲット レベルの各構成について、Xcodeproj で xcconfig ファイルを設定します。
考えられる解決策
私の知る限り、Cocoapod からスクリプトを実行して Xcode プロジェクトを操作することは不可能です。幸いなことに、Cocoapods の担当者はxcodeprojと呼ばれる Ruby gem を提供して、ビルド設定を含む Xcode プロジェクトとワークスペースを操作します。
私はこの gem を使用してツール ( phoenx ) を開発し、メタデータ ファイル (Podfile によく似ています) に基づいて Xcode プロジェクトとワークスペースの生成を自動化しています。関連するコード部分をxcconfigという新しい ruby gem に抽出しました。
Xcconfig
Xcconfig は、任意の Xcode プロジェクト ファイルで xcconfig ファイルをダウンロードして構成できます。AConfigfile
は、構成ファイルのソース (オプション) と、それらの xcconfig ファイルをプロジェクトに適用する方法を指定します。ファイルがプロジェクトの一部でない場合は、それらを (サブフォルダーのグループと共に) 追加し、それに応じてプロジェクトを構成します。グローバル リポジトリの xcconfig ファイルを変更した場合は、xcconfig
もう一度実行してリポジトリを同期するだけです。
は、ファイルConfigfile
と同じフォルダーに存在する必要がありxcodeproj
ます (Podfile と同様)。
# Specify where to download the config files (optional)
source "git@github.com:xyz/Configuration"
# Specify the name of the project, e.g., MyProject if your project file is MyProject.xcodeproj
Project.new "MyProject" do |project|
# Specify xcconfig files for each configuration on project level (paths are relative t
project.config_files["Release"] = "Configuration/project_release.xcconfig"
project.config_files["Debug"] = "Configuration/project_debug.xcconfig"
# Specify target and xcconfig files for each configuration
project.target "test" do |target|
target.config_files["Debug"] = "Configuration/debug.xcconfig"
end
end
この gem を cocoapods と統合するか、スタンドアロンで使用できます。試してみたい場合は、でインストールしてsudo gem install xcconfig
からxcconfig
、プロジェクト ディレクトリでConfigfile
. ソースは、私の GitHub アカウントで入手できます。
それが役立つことを願っています。