コアの場所を求められたときにユーザーの応答を得るにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/1613712

質問

iPhone にアプリケーションをインストールすると、アラートで「許可しない」と「OK」のオプションを使用して現在の場所を尋ねられます。どのオプションが選択されたかを確認するにはどうすればよいですか?また、このオプションを 1 回だけ表示したいと考えています。ユーザーが現在地の検出を許可することを選択した場合、デバイスがバックグラウンドで自動的に位置を取得するようにしたいと考えています。

役に立ちましたか?

解決

ユーザーがロケーションサービスへのアクセスを拒否した場合、CLLocationManagerデリゲートメソッド didFailWithError:が呼び出されます:

- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error{
    if (error.code ==  kCLErrorDenied){
            // User denied access to location service       
    }
}

他のヒント

コントローラーは以下を実装する必要があります。 CLLocationManagerDelegate プロトコル。これにより、実装する必要がある 2 つのメソッドが定義されます。

  1. – locationManager:didUpdateToLocation:fromLocation:
    このメソッドでは、位置情報の更新を処理するコードを記述します。

  2. – locationManager:didFailWithError:
    このメソッドでは、ユーザーがリクエストを拒否したり、更新が失敗したりした場合に処理するコードを記述します。

ユーザーが位置情報の使用を許可すると、アプリを終了しない限り、再度位置情報の使用を要求されることはありません。ただし、ユーザーがアプリを起動するたびに携帯電話がプロンプトを表示しないようにする方法はありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top