何が起きたか
いつも通りアプリリリースのためにビルドをアップロードした。ところがなぜかアプリの動作がおかしい・・・。
確認したところ、ライブラリのバージョン(CFBundleShortVersionString)がアプリのバージョンに書き換えられていたことにより障害となっていることが発覚した。
なぜ起きたか
XCode13から追加された「Manage Version and Build Number」にチェックを入れると再現される。
ライブラリのバージョンがアプリのバージョンで上書きされる。
確認方法は、アップロード前の確認画面でライブラリのバージョンを確認するとよい。
参考
Xcode "Manage Version and Build Number" option
Xcode 13 app archiving is modifying framework plist
どう対応すべきか
「Manage Version and Build Number」のチェックを外す。
所感
- 他にも被害者がいるはず・・・。
- ライブラリのバージョンで処理を分岐させるのやめよう。
- アップロード前にはライブラリのバージョンおかしくないか確認しよう・・・。
- auto incrementでアップロードするとバージョンがくそ分かりずらくなるのでやめてほしい。TestFlightのバージョンもごちゃごちゃになるので、テスターが混乱する。
- でもアップロードの所作は自動化したい。