🍏
多言語対応Appの提出時の ITMS-90683: Missing purpose string in Info.plist の解決策
App Store ConnectへのUploadで「Your app has one or more issues ~」と言われた
久しぶりにAppを更新してSubmitしようとApp Store ConnectへのUploadを試みた際に、下記のようなメールが送信されてきました。
InfoPlist.strings
ファイルには定義がある・・・
各言語の さて、原因を探っていきます。
該当のAppはローカライズをするために、言語ごとの Info.plist
の文字列ファイル (InfoPlist.strings
) を作っている構成になっていました。
さらに、stringsファイルの中には該当のkeyの文言はすでに存在しました。
いままでは問題なく提出することができていたのです🤔
メールに含まれていたリンクを見てみると・・・
さて、一見設定自体におかしいところはなさそうですが、最後に案内されているリンクのドキュメントを読んでみることにしました。
すると、気になる文章が・・・
If your app supports multiple locales, in addition to providing a purpose string in the Info.plist file, localize it, and place the localized string in the InfoPlist.strings files for each locale you want to support.
Info.plist
側にもkeyの指定が必要になった
ということで、どうやら InfoPlist.strings
ファイルへの記述だけでなく、 Info.plist
ファイルにも同様のkeyをセットしないとバリデーションに引っ掛かるようになってしまったというのが原因のようでした。
そのため、Info.plist
にも NSUserTrackingUsageDescription
を追加してあげてUploadすることによって、該当のIssueが検出されなくなりました🎉
Info.plist
+ <key>NSUserTrackingUsageDescription</key>
+ <string>プライマリ言語でのその理由(もしかすると空でも良いかもです)</string>
以上です!
Discussion