1. ホーム
  2. ios

[解決済み] iOS 11で位置情報サービスが利用できない

2023-04-18 12:21:28

質問

iOS 11 SDK を使ってアプリを再構築したところ blue banner を削除するために、iOS 11 SDK でアプリを再構築したところです。素晴らしい、うまくいった」と思ったのですが、位置情報サービスがまったく機能しないことが判明しました。

このアプリケーションは iOS 10 で動作していましたが、どなたか何かご存知ですか?

どのように解決するのですか?

Appleは、さらに別のプライバシー機能を追加したようです。ユーザーは、私たちの requestAlwaysAuthorization を上書きし、それを requestWhenInUseAuthorization - ということは、開発者としては Info.plist

私は、彼らが新しいキー NSLocationAlwaysAndWhenInUseUsageDescription

/*
*      Either the NSLocationAlwaysAndWhenInUseUsageDescription key or both the
*      NSLocationAlwaysUsageDescription and NSLocationWhenInUseUsageDescription
*      keys must be specified in your Info.plist; otherwise, this method will do
*      nothing, as your app will be assumed not to support Always authorization.
*/

しかし、この新しいキーを使用しても、位置情報サービスはまだ動作しませんでした。さらに検索してみると、すべての余分なデバッグ情報に混じって、このgemを見つけました。

このアプリは、使用法の説明なしにプライバシーに敏感なデータにアクセスしようとしました。アプリの Info.plist には NSLocationAlwaysAndWhenInUseUsageDescription と NSLocationWhenInUseUsageDescription キーの両方を含める必要があり、アプリによるこのデータの使用方法をユーザーに説明する文字列値が含まれている必要があります。

これは、更新された CLLocationManager.h ファイルで見つけたコメントと正反対です。そこで、私はレーダーを作成しました。

朗報です!デバッグコンソールのアドバイスに従えば、IE.新しいキーである両方の NSLocationAlwaysAndWhenInUseUsageDescription と古いキーの一つである NSLocationWhenInUseUsageDescription を追加すると、ロケーションサービスが再び動作するようになります。