1

位置情報サービスへの呼び出しを挿入する次のコードがあり (それによって許可アラートが発生します)、許可されている場合はコードを実行するか、拒否されている場合はビューを表示します。

私のviewDidLoadメソッドのコードは次のとおりですが、これはアプリを2回目にロードしたときに機能しますが、選択を行った後、どちらのオプションも最初のラウンドでは実行されません。基本的に、このコードを待機させて、選択した後にのみ実行する方法はありますか?

CLLocationCoordinate2D coordinate = [self getLocation];
if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorized)
{
    NSLog(@"location enabled");
    [self getDataFromJson];

} else {
    NSLog(@"location disabled");
    //show them a view telling them to allow location services
}
4

1 に答える 1

4

プロトコルに準拠するデリゲートを割り当て、CLLocationManagerDelegate実装して承認ステータスの変更に対応する必要があります。locationManager:didChangeAuthorizationStatus:

于 2013-07-07T12:59:13.617 に答える