1. ホーム
  2. xcode

[解決済み] ビルド番号を増加させる良い方法とは?

2022-06-08 08:38:40

質問

私は Xcode のビルドプロセスの一部としてシェルスクリプトを使用しており、ビルド番号を plist ファイル内のビルド番号をインクリメントするために Xcode ビルドプロセスの一部としてシェルスクリプトを使用していますが、この方法では Xcode 4.2.1 が頻繁にクラッシュします (ターゲットがプロジェクトに属さないというエラーが発生します。 plist ファイルの変更が何らかの方法で Xcode を混乱させているのだと思います)。

シェルスクリプトがこれを行ったので、ビルド番号は agvtool よりも新しいファイルがある場合、ビルド番号は plist ファイルより新しい場合 (つまり、ビルドしただけでは値が増加しなかった)、そのファイルを削除します。

if [ -n \"`find ProjDir -newer ProjDir/Project-Info.plist`\" ]; then agvtool -noscm next-version -all; else echo \"Version not incremented\"; fi

ビルド番号をインクリメントする方法はありますか? plist ファイル、または他のどこかで)、Xcode を壊さないようなビルド番号を増加させる方法はありますか?

最終的な編集 : 私は今、このようなことはPythonスクリプトを使って行っています。 github . このスクリプトはあまり文書化されていませんが、難しいものではありません。 ボーナスとして、このレポにはサードパーティのライブラリをアプリのバンドルに自動的にバンドルするための便利なスクリプトも含まれています。

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

私があなたの質問を正しく理解するならば、あなたは Project-Info.plist ファイルを変更したいのでしょうか?

私がこれを尋ねる理由は、以下の通りです。 Project-Info.plist は通常バージョンコントロール下にあり、それを修正することは、まあ、修正されたとマークされることを意味します。

もしそれでよければ、次のスニペットはビルド番号を更新し、その過程でファイルを修正したものとしてマークします。 get_build_number は、使用したい (おそらく増分された) ビルド番号を取得するための何らかのスクリプト (つまり、この例ではプレースホルダー) です。

#!/bin/sh

# get_build_number is a placeholder for your script to get the latest build number
build_number = `get_build_number`

/usr/libexec/PlistBuddy -c "Set :CFBundleVersion ${build_number}" ProjDir/Project-Info.plist

PlistBuddy では、バージョン番号だけでなく、plist ファイルに任意のキーを設定することができます。必要な plist ファイルをすべて作成し、必要であればリソースに含めることができます。そして、それらはバンドルから読み込むことができます。

バージョン情報をアバウトペインや他の場所に表示する必要がある場合、次の設定を検討することができます。 CFBundleGetInfoStringCFBundleShortVersionString .