0

xcodebuildパラメータを使用してxcconfigファイルを指定して(Xcode 12.5)を呼び出してい-xcconfigます。xcconfig ファイルにビルド構成 (例: ) に基づく条件付き変数の割り当てが含まれている場合SWIFT_OPTIMIZATION_LEVEL[config=Debug] = -Onone、次のエラーが発生します。

FIXME: Implement XCBuild support for macros in overriding parameters with condition sets:

    SWIFT_OPTIMIZATION_LEVEL[config=Debug] = -Onone

xcodebuild実行中のアクションが何であれ失敗します。

fastlane gym これは、ジムのパラメーターを使用して xcconfig ファイルを使用してビルドし、渡すときにも発生することに注意してください (フードの下で呼び出して同じパラメーターを使用するだけxcconfigなので、理にかなっています...)gymxcodebuildxcconfig

4

1 に答える 1

0

問題を理解しようと何度か試みた後、いくつかの回避策を見つけました。

  1. Xcode 13 への更新

    この問題は Xcode 13 で修正されており、リリース ノートにはこの問題が解決済みとして明示的に記載されています。

-xcconfig コマンドライン フラグと XCODE_XCCONFIG_FILE 環境変数を使用して xcconfig ファイルを xcodebuild に渡すと、Xcode は条件パラメーターもサポートする新しいビルド システムのセマンティクスを使用してファイルを解析します。(25001734)

  1. xcconfig ファイルを明示的に渡すのではなく、Xcode を使用してビルド構成を解決します。

    私の場合、xcconfigファイルをxcodeビルドに明示的に指定する必要は実際にはありませんでしたが、xcconfigファイルが特定のターゲット/ビルド構成のビルド構成のソースとしてXcodeで指定されている場合、設定は正しく解決されました。

  2. ビルド構成ごとに設定を個別のファイルに分割し、その特定のビルド構成に対して Xcode でそれぞれを指定します。

    特定のビルド構成 (つまり、デバッグ用とリリース用) に特定の xcconfig ファイルを使用するように Xcode に指示できるため、条件付き割り当てを使用する必要がなくなります。また、#includeディレクティブを使用することで、共有設定値の重複を避けるために、デバッグおよびリリース構成ファイルに含めることができるすべての共通設定用の「共有」xcconfig ファイルを作成できます。

xcconfig ファイルの詳細については、The Unofficial Guide to xcconfig files を参照してください

于 2021-10-25T14:02:28.537 に答える