タイトルには未解決と書きましたが、実際には修正はできました。
ですが、きちんと修正できたわけではなく、他のバグを直していたらいつのまにか直っていた…という状況なので、便宜上「未解決」とさせていただいています。
さて、今回遭遇した iOS アプリの不具合ですが、アプリの初回起動時に表示される、アプリが端末の位置情報へのアクセスの許可を求めるときに表示されるパーミッションダイアログで発生しました。
iPhone では問題なく、info.plist
の Privacy - Location When In Use Usage Description
で指定した説明文が表示されるのですが、iPad では、設定した記憶の無い説明文が表示されてしまうという問題が発生していました。
ちなみにこちらのバグは、Apple の審査に出した時に指摘されました。
…Apple ってこんなところまで見てくれているんですね…。
参考にさせていただいた記事はこちら。
【XCode】バグ?Development LanguageをJapaneseにしているのにEnglishが表示される: 趣味津々浦々
http://hiiro-game.seesaa.net/article/465170992.htmlios – NSLocationWhenInUseUsageDescription localization using .strings file not working – Stack Overflow
https://stackoverflow.com/questions/30454382/nslocationwheninuseusagedescription-localization-using-strings-file-not-working
心優しい後輩君が、「参考になりますか?」と教えてくれた記事です。
こちらを見ながら直したのですが、残念ながら解決できず…。
そうこうしているうちに、プロジェクトのファイルを誤って消してしまいビルドに失敗し、それを直して再ビルド・実行したら……何故か直りました。
よく分からないけど直ったという、一番嫌な方法で修正できてしまい…若干頭を抱えています。
とりあえず、非常に不服ですが何とかなったので、Apple の審査に再提出しました。
今度こそ無事に通りますように…!
以上、開発した iOS アプリが、iPad で起動した時のみ NSLocationWhenInUseUsageDescription で設定した内容が反映されない問題についてでした。
すっきりとした解決はできませんでしたが…参考サイトは是非ご参照ください。