1. ホーム
  2. xcode

Xcode 10の`xcodebuild`でレガシービルドシステムを使用するにはどうしたらいいですか?

2023-09-05 03:02:37

質問

Xcode 10の新しいビルドシステムを開発に使用したいのですが、継続的インテグレーションシステムでのビルドが xcarchive は問題があります。 Info.plist の中に xcarchive が抜けているのは ApplicationProperties のキーとその中の情報がありません!

レガシー ビルド システムに切り替えると、これが修正されることがわかりました。これは、ワークスペースの設定 (ファイル > ワークスペースの設定... > ビルド システム) で行うことができます。しかし、私は、開発用に新しいビルド システムを維持し、CI ビルドにのみレガシー ビルド システムを使用することを希望しています。

を作成する方法はありますか? xcodebuild をワークスペースを変更することなくレガシービルドシステムを使用する方法はありますか?

どのように解決するのですか?

に (まだ文書化されていない) フラグがあります。 xcodebuild : -UseModernBuildSystem=<value> . 値は以下のいずれかになります。 0 または NO でレガシー("オリジナル")ビルドシステムを使用する、または 1 または YES で新しいビルドシステムを使用します。

例えば

xcodebuild -workspace Foo.xcworkspace -scheme Bar -configuration Release -archivePath /path/to/Foo.xcarchive clean archive -UseModernBuildSystem=NO

( -UseNewBuildSystem=<value> も同様に動作するようです。このフラグは Xcode 9 で導入されましたが、私はおそらく UseModernBuildSystem がこのための "公式"フラグになりそうです)。