技術と趣味の亜空間

主にゲームプログラミングとその周辺に関する記事を不定期で上げていきます

【Xcode 13】アーカイブ後にバージョンとビルド番号を更新できるようになってた

Manage Version and Build Number

概要

もはやタイトルで完結してますが、Xcode 13で追加された機能です。

試しに使ってみた感じでは自由に値を変更できるわけではなく、Storeにアップロードした時にチェックされて自動でビルド番号がインクリメントされるようですね。
自分のプロジェクトだとデフォルトでONになってたので、勝手に上がるのが困る場合はウィンドウ上でOFFにする必要があります。
(デフォルトでOFFにする方法は調べた限り見つかりませんでした……)

実際に内部でどのような挙動になるかはXcode13のリリースノートに記されてました。

When uploading an app to App Store Connect, the distribution assistant in Xcode detects whether your app has a valid build number (CFBundleVersion). If your app has an invalid number (like one that was used previously, or precedes your current build number), the distribution assistant provides an option to automatically increment it to a valid number. In addition, the distribution assistant ensures that the build numbers of all embedded content in your app (such as app extensions, App Clips, or watchOS apps) are in sync with your app. Note that this doesn’t modify your source code or your archive; Xcode updates the build number in a staged copy of your app before packaging and uploading it to App Store Connect. (59826409)

訳: App Store Connectにアプリをアップロードする際、Xcodeの配布アシスタントは、アプリに有効なビルド番号(CFBundleVersion)があるかどうかを検出します。アプリに無効な番号(以前に使用されたもの、または現在のビルド番号より前のものなど)がある場合、配布アシスタントは、有効な番号に自動的にインクリメントするオプションを提供します。さらに、配布アシスタントは、アプリに埋め込まれたすべてのコンテンツ(アプリの拡張機能、App Clips、またはwatchOSアプリなど)のビルド番号がアプリと同期していることを確認します。これは、あなたのソースコードアーカイブを変更しないことに注意してください。Xcode は、パッケージングして App Store Connect にアップロードする前に、あなたのアプリのステージングされたコピーでビルド番号を更新します。(59826409)
www.DeepL.com/Translator(無料版)で翻訳しました。

というわけで、この機能を利用してバイナリを作成してもソースコードやOrganizer上の表記は変わらないのでご注意を。

まとめ

ビルド番号の上げ忘れを防ぎたいならON、勝手に上がると都合が悪いならOFFにしましょう。