7

アプリが初めてユーザーの場所を取得しようとすると、「現在の場所を使用します」というメッセージが表示され、[許可しない]または[OK]をクリックできます。ユーザーが[OK]をクリックしたか、許可しないかを確認する方法はありますか?MKMapViewにユーザーの現在の場所を表示させようとしていますが、ユーザーの選択に基づいてさまざまなアクションを実行したいと思います。

通常、この情報を入手するための代理人がいると思いますが、そうではないようです。

よろしくお願いします。

4

1 に答える 1

16

ユーザーの位置情報を取得するための最初の呼び出しは、ユーザーが位置情報サービスを拒否したことを示すエラーで失敗します。CLLocationManagerDelegate以下のように、メソッドdidFailWithErrorが呼び出されます。(定数はで定義されていCLError.hます)

- (void)locationManager:(CLLocationManager*)aManager didFailWithError:(NSError*)anError
{
    switch([anError code])
    {
    case kCLErrorLocationUnknown: // location is currently unknown, but CL will keep trying
    break;

    case kCLErrorDenied: // CL access has been denied (eg, user declined location use)
    message = @"Sorry, flook has to know your location in order to work. You'll be able to see some cards but not find them nearby";
    break;

    case kCLErrorNetwork: // general, network-related error
    message = @"Flook can't find you - please check your network connection or that you are not in airplane mode";
    }
}
于 2009-12-17T13:28:11.327 に答える