【Xcode】CFBundleVersion Mismatchエラーの原因と解決法
この記事からわかること
- Xcodeのエラー
- App Storeにアーカイブ時のwarning
- CFBundleVersion Mismatch — The CFBundleVersion value '2' of extension 'Main.app/Plugins/WidgetExtemsion.appex' does not match the CFBundleVersion value '2.1' of its containing iOS application 'Main.app'.
index
[open]
\ アプリをリリースしました /
友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-
posted withアプリーチ
CFBundleVersion Mismatchエラー
XcodeでApp StoreにiOSアプリをアーカイブしようとした際に「Warnings」となり以下のようなエラーが発生してしまいました。
CFBundleVersion Mismatch — The CFBundleVersion value '2' of extension 'Main.app/Plugins/WidgetExtemsion.appex' does not match the CFBundleVersion value '2.1' of its containing iOS application 'Main.app'.
CFBundleShortVersionString Mismatch — The CFBundleShortVersionString value '1.9' of extension 'Main.app/Plugins/WidgetExtemsion.appex' does not match the CFBundleShortVersionString value '2.0' of its containing iOS application 'Main.app'.
このままでもApp Storeにはビルドできていたので審査を進めることが可能なようです。
原因
「Warnings」が発生した原因を突き止めるために翻訳してみます。
CFBundleVersion の不一致 — 拡張機能 'Main.app/Plugins/WidgetExtemsion.appex' の CFBundleVersion 値 '2' は、それを含む iOS アプリケーション 'Main.app' の CFBundleVersion 値 '2.1' と一致しません。
どうやらメインアプリのCFBundleVersion
と拡張機能(今回はWidget)のCFBundleVersion
が異なることで怒られているようです。
※:CFBundleVersionとはビルド管理バージョンのこと。
私のアプリにはWidgetを追加していたのでターゲットが2つになっていましたがWidget側のビルド番号をインクリメントし忘れていたために起きたエラーのようでした。
おすすめ記事:【Swift UI】Widget(ウィジェット)の実装方法!TimelineProviderとは?
なので再度ビルド番号を2つともインクリメントさせてアーカイブしたところ正常に受け付けてくれました。
拡張機能を追加している場合のCFBundleVersion
管理は意識しておかないとまた同じミスをしてしまいそうですね。。
ちなみにその後に以下のようなエラーも発生しました。
おすすめ記事:【Xcode】Metadata/Info.plist Mismatch.エラーの原因と解決法
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。