ユーザーが自分の場所の使用許可を拒否したことをプログラムで判断することはできますか?ユーザーがCoreLocationのアクセス許可を拒否しているかどうかを確認
第2に、ユーザーが許可を拒否した場合、ユーザーに再度プロンプトを出すことは可能ですか?
ユーザーが自分の場所の使用許可を拒否したことをプログラムで判断することはできますか?ユーザーがCoreLocationのアクセス許可を拒否しているかどうかを確認
第2に、ユーザーが許可を拒否した場合、ユーザーに再度プロンプトを出すことは可能ですか?
CLLocationManager
のauthorizationStatus
クラスメソッドを使用して承認ステータスを判断することができます。あなたがロケーションマネージャを起動しようとすると、認可の状態が未定である場合、システムは、アプリケーションを承認するようユーザーに促します
typedef enum {
kCLAuthorizationStatusNotDetermined = 0,
kCLAuthorizationStatusRestricted,
kCLAuthorizationStatusDenied,
kCLAuthorizationStatusAuthorized
} CLAuthorizationStatus;
:これは以下のように定義されるCLAuthorizationStatus
を返します。
さらに、locationServicesEnabled
クラスメソッドを確認して、ロケーションがシステム全体で有効になっているかどうかを判断できます。
さらに、locationServicesEnabledがNOを返す場合は、とにかくロケーションサービスを開始しようとすると、ロケーションサービスを再度有効にする必要があるかどうかを確認するメッセージが表示されます。