ホーリーのプログラミング日記

ホーリーのプログラミング日記

エキセントリック・スーパーアプリクリエイター / アプリ総DL数 約180万 / 全然分からない 俺は雰囲気でアプリを作ってる / iOS : apple.co/3m3HxSm / Android : bit.ly/3ma0liZ

【解決済み】AppStoreConnectから"NSLocationWhenInUseUsageDescription"キーがないよってメールをもらった話

 

Xcodeからアプリをアップロードしたら、AppStoreConnectからこんなメールが届きました。

 

Missing Purpose String in Info.plist File. Your app's code references one or more APIs that access sensitive user data. The app's Info.plist file should contain a NSLocationWhenInUseUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. Starting spring 2019, all apps submitted to the App Store that access user data will be required to include a purpose string.If you're using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required. You can contact the developer of the library or SDK and request they release a version of their code that doesn't contain the APIs. Learn more (https://developer.apple.com/documentation/uikit/core_app/protecting_the_user_s_privacy).

 

 

ザックリ直訳すると「Info.plistにNSLocationWhenInUseUsageDescriptionがないよ」ってことなんですよね。

 

んで、結果から言えば、この警告を無視してもビルドは通ります。

AppStoreConnectにビルドは行ってるし、そのまま審査も通るし、アップデートされたアプリを触っても、何の問題もありませんでした。あくまでも僕の場合は。

 

まあメールにも書いてましたしね。

 

Your delivery was successful, but you may wish to correct the following issues in your next delivery

 

「今回は成功。次は直した方がいいかもよ」って。だからきっと問題ないんでしょうw

 

===

 

まあこんな風に無視でもいいんでしょうけど、気持ち悪いじゃないですか。警告を無視するのって。

最初は無視でよかったんですが、だんだん気持ち悪くなってきたので、自分なりに対処してみました。

話は単純でInfo.plistにNSLocationWhenInUseUsageDescriptionを追加するだけですからね。それをやればOKでしょう。

 

そもそもの話でNSLocationWhenInUseUsageDescriptionっていうのは、位置情報の何かなんですよね。本当に何か。よくは知りませんw

【iOS 11対応】知っておきたい位置情報周りの変更点

 

実際に位置情報も使ってないので、適当にやってみました。

 

f:id:gevvoihorry:20180830062925p:plain

 

めっちゃ見づらいんですが、Xcodeの左端、下の方にあるのがInfo.plistですよ。

これ割りと触るイメージなので、知らない人は少ないのかな?

 

f:id:gevvoihorry:20180830063112p:plain

 

そのInfo.plistで右クリックしーの、Open AsからSource Codeを選びましょう。

 

f:id:gevvoihorry:20180830063358p:plain

 

<key>NSLocationWhenInUseUsageDescription</key>
<string>適当なメッセージ</string>

 

これを追加すればOK。

 

 

f:id:gevvoihorry:20180830064127p:plain

 

Info.plist→Open As→Property Listで元の画面に戻ると、ちゃんとあるのが分かります。

(はなからProperty Listで追加してもいいんですが、何となくSource Codeでやってみました)

 

なんて書いたらいいのか分からなかったんで、"do not use"って書いたんですが、とりあえず大丈夫でしたよ。その後、警告メールはきませんでした。

位置情報なんて使わないから、使わないって書いたんですけどね。本当はもっと適切な言葉があると思います。

 

そもそもの話で、なんでこの警告メールがくるようになったのかも分からないんですが、とりあえずこれで問題なさそうなので、OKとしてみました。

 

まあ、通れば何でもいいんですよ。僕の場合はw