Appleからの「ITMS-90626」エラーの解決方法
Xcodeで作成したバイナリをAppStoreConnectへアップロードした後に、ITMS-90626エラーが発生しました。アップロード自体は成功しましたが、後にメールで通知がきました。
ITMS-90626エラー
問題
Xcodeで作成したバイナリをAppStoreConnectにアップロードしたところ、アップロードは成功したが、メールでITMS-90626エラーの通知がきた。
(環境:XCode 12.2 / macOS Catalina)
その時のエラーメッセージは以下のとおり
ITMS-90626: Invalid Siri Support - Localized title for custom intent: 'Configuration' not found for locale: ja
原因
iOS14から追加されたWidgetKitを追加したことが影響していたということが分かりました。
Siriに関する実装はしていないはずなのにSiri関連のローカライズに関するエラーのようです。
WidgetKitをターゲットに追加する時のウィザードで、Configurationを有効にして作成したことにより、自動的にSiri Intent Definitionというものが作成されます。
今回のエラーは、その作成されたSiri Intent Definition(*.intentdefinitionファイル)のローカライズがされていないことが原因で、直すようにとの警告でした。
解決方法
このSiri Intent Definitionは、今回、意識的に使用していないのですが、Widget側のコードにもConfigurationIntentが登場しており、単純にターゲットから外す訳にはいかなかったので、Siri Intent Definitionのローカライズを追加することで対応しました。
しかし、よくよく考えてみると、既にウィジェット機能を追加したアプリは公開済みで、前回のアップロード時にはこのエラーは発生していませんでした。
今回のアップデートで追加した機能が関係すると考えると、アプリ側の永続化データをウィジェット側で取得したくなり、UserDefaultsの連携ができるように、App Groupsの追加をしたので、本当の原因はそっちにあるのかもしれません。
※ローカライズの話なので、日本語化、多言語対応とかした場合に直接顕在化する問題だと思いますが、その対応は前回以前にしていたので、このタイミングで出たエラー理由ではなさそうです。
もしくは、そのタイミングでApple側のチェック機構が追加されたのかもしれません。