1

位置情報サービスの使用を必要とするアプリがありますが、毎分データをフェッチしようとします。これは、ユーザーが 1 秒後に位置情報サービスを許可したとしても、更新されるまでにさらに 59 秒かかることを意味します。アプリのアクセス許可がいつ変更されたかを知ることはできますか?

4

1 に答える 1

1

わかりました、私はそれを答えにします笑。

ただし、私の言葉を鵜呑みにしないでください。最初に試してみて、希望どおりになるかどうかを確認することをお勧めします.

-(void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status
{
    // -----------------------------------------
    // Available authorization status are:
    //
    // kCLAuthorizationStatusAuthorized
    // kCLAuthorizationStatusDenied
    // kCLAuthorizationStatusNotDetermined
    // kCLAuthorizationStatusRestricted
    // -----------------------------------------

    if(status == kCLAuthorizationStatus...)
    {
        // do something here
    }        
}

これは CLLocationManager デリゲートであるため、CLLocationManager オブジェクトを作成し、そのデリゲートを自分自身に設定して、View Controller を CLLocationManagerDelegate プロトコルに準拠させる必要があります。

// .h file
@interface MyClass <...,CLLocationManagerDelegate,UITableViewDelegate,....>
{
    CLLocationManager *locationManager;
}

// in the .m file
-(void)viewDidLoad
{
    ...
    locationManager.delegate = self
}
于 2013-05-21T13:00:07.877 に答える