私は場所のアクセス許可に取り組んでいますが、問題は次にあります。 ユーザーは、プライバシからロケーションサービスを無効にし、アプリケーションをインストールしました。私は位置情報サービスを有効にするよう求めるコード行を持っています:if (![CLLocationManager locationServicesEnabled] || [CLLocationManager authorizationStatus] == kCLAuthorizationStatusDenied)...
これはかなりうまく動作しています。問題は、アプリケーションが場所を使用することを許可するようにアプリケーションに要求していないということです。許可を求めるためのコード:CLLocationManagerのアクセス許可
if ([self.locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) {
[self.locationManager requestWhenInUseAuthorization];
}
注:場所サービスが有効になっている場合すべてが正常に動作し、それが承認初めて要求します。
EDIT:権限のための完全なコード:認証ステータスがNotDeterminedされたときに
-(void)setupPermissions
{
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
if (![CLLocationManager locationServicesEnabled] || [CLLocationManager authorizationStatus] == kCLAuthorizationStatusDenied) {
}
if ([self.locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) {
[self.locationManager requestWhenInUseAuthorization];
}
[self.locationManager startUpdatingLocation];
}
の代わりにあなたのコードについて話して、あなたのコードを表示してください。権限を取得しようとするあなたの本当の、完全なコード。ありがとう。 – matt
ええ、ごめんなさい。私の質問を編集しました。 – Stefan