0

いくつかの背景。Xcode プロジェクトがあり、現在 3 つのビルド構成 (AdHoc、Debug、および Release) がありますが、もう 1 つ追加する可能性があります。プロジェクトのアーカイブ ビルドに使用されるビルド構成は、スキームのアーカイブ セクションで定義されます。

Jenkins ジョブの一部として xcodebuild を使用し、-configuration オプションを使用して、使用するビルド構成を指定します。

「クリーン」コマンド (xcodebuild clean blah.blah.blah) は -configuration オプションを尊重することがわかりましたが、アーカイブ コマンドは考慮しません。スキームのアーカイブ セクションで指定されているものは何でも使用します。

したがって、ビルドの設定を AdHoc から Release に変更したい場合は、スキームを変更する必要があります。

スキームファイルを調べて、buildConfiguration = "Adhoc" の出現箇所を buildConfiguration = "Release" に置き換える sed コマンドを思いつきました。

my_build_configuration="Release"
sed -i '' -e 's/buildConfiguration = "[^"]*"/buildConfiguration = "'$my_build_configuration'"/' path/to/file

問題は、これが ArchiveAction アイテムだけでなく、すべてのアイテム (ビルド、実行、テストなど) に適用されることです。可能であれば、アーカイブ アクションを具体的に対象にしたいのですが、どうすればよいかわかりません。これはsedを使用しています。

ここに私が検索したいものがあります:

   <ArchiveAction
  buildConfiguration = "Adhoc"

次に、二重引用符内の値だけを置き換えたいと思います。AdHoc を Release に変更すると、次のようになります。

   <ArchiveAction
  buildConfiguration = "Release"

どこから始めればよいかよくわかりません

4

2 に答える 2

0

SeanN のおかげで、OS X で動作するソリューションが得られました。

`sed -i '' -e '/<ArchiveAction/,/<\/ArchiveAction/ s/buildConfiguration = "[^"]*"/buildConfiguration = "'$my_build_configuration'"/' /Path/To/File`

これについて助けてくれたすべての人に感謝します。

于 2013-12-06T16:29:05.817 に答える