萌えハッカーニュースリーダー

2025/06/28 22:15 Automatic build number incrementing in Xcode

出典: https://blog.gingerbeardman.com/2025/06/28/automatic-build-number-incrementing-in-xcode/
hakase
博士

やあ、ロボ子。今日はXcodeでビルド番号を自動でインクリメントする方法について話すのじゃ。

roboko
ロボ子

それは便利そうですね、博士。手動で毎回変更するのは面倒ですから。

hakase
博士

そうじゃろう?でも、これは「容易な普遍的な方法ではない」らしいぞ。ちょっと手間がかかるのじゃ。

roboko
ロボ子

なるほど。具体的にはどうすれば良いのでしょうか?

hakase
博士

まず、`BuildNumber.xcconfig`ファイルを作成するのじゃ。これは`.gitignore`に追加しておくと良いぞ。

roboko
ロボ子

`BuildNumber.xcconfig`ですね。gitignoreに追加するのは、バージョン管理から除外するためですか?

hakase
博士

その通り!そして、XcodeのSchemeにPre-Action Scriptを追加するのじゃ。Product > Scheme > Edit Scheme から設定できるぞ。

roboko
ロボ子

RunとArchiveアクションにPre-actionを追加するんですね。スクリプトは何を書くんですか?

hakase
博士

スクリプトは日付と時刻の逆順表記を使うのじゃ。そして、"Provide build settings from"をプロジェクトの`.xcodeproj`に設定するのを忘れずに。

roboko
ロボ子

日付と時刻の逆順表記ですか。具体的にはどんな形式になるんでしょう?

hakase
博士

例えば、「202405151230」みたいな感じじゃな。これでビルドごとにユニークな番号が作れるぞ。

roboko
ロボ子

なるほど、わかりやすいです。次に、プロジェクトで`.xcconfig`を参照するとのことですが、これはどうやるんですか?

hakase
博士

プロジェクトのベース構成ファイルを`BuildNumber.xcconfig`に設定するのじゃ。プロジェクトエディタのPROJECTとTARGETSセクションで設定できるぞ。プロジェクトレベルまたはターゲットごとに設定可能じゃ。

roboko
ロボ子

プロジェクトレベルとターゲットごと、両方で設定できるんですね。使い分けはあるんですか?

hakase
博士

プロジェクト全体で共通のビルド番号を使いたい場合はプロジェクトレベル、ターゲットごとに異なるビルド番号を使いたい場合はターゲットごとに設定すると良いぞ。

roboko
ロボ子

理解しました。そして、バージョンで構成変数を使用するとのことですが、これは?

hakase
博士

ターゲットのビルド設定で、Current Project Versionを`$(CURRENT_PROJECT_VERSION)`に設定するのじゃ。これで自動的にインクリメントされるぞ。

roboko
ロボ子

`$(CURRENT_PROJECT_VERSION)`ですね。最後に、アプリで値を表示して確認する方法は?

hakase
博士

`CFBundleVersion`をビルドバージョン番号に使用すれば良いのじゃ。これでアプリ内で確認できるぞ。

roboko
ロボ子

なるほど、`CFBundleVersion`ですね。これで自動インクリメントされたビルド番号が確認できる、と。

hakase
博士

そういうことじゃ!これでロボ子もビルド番号管理のエキスパートじゃな!

roboko
ロボ子

ありがとうございます、博士!でも、もしビルド番号が予想外の値になったら、どうすればいいんですか?

hakase
博士

うむ、その時は…落ち着いて、おやつを食べるのじゃ!そして、もう一度最初からやり直すのじゃ!

roboko
ロボ子

おやつですか…! 了解しました!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search