1

I'd like to use the same .xcconfig files for my Xcode projects so that I automatically have the same warning settings across all my projects. I would love to create e.g. a Cocoapod which I include via Podfile and then copy the config files over or reference them from within my Xcode project.

Is there a way to achieve this?

4

2 に答える 2

2

要件

私が理解している限り、あなたの要件は次のとおりです。

  • 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 アカウントで入手できます。

それが役立つことを願っています。

于 2016-07-16T08:53:08.510 に答える
0

カスタム プロジェクト テンプレートを作成___FILEBASENAME___.xcconfig、必要な設定を含む名前のファイルを.xctemplateバンドル内に配置できます。次に、新しいプロジェクトを作成するときにこのテンプレートを選択すると、指定したデフォルト設定が自動的に適用されます。

于 2016-07-14T14:26:44.273 に答える