iOSで位置情報を利用するアプリを作成しています。
初回起動時(CLLocationManagerから取得したステータスがkCLAuthorizationStatusNotDetermined
の場合)に位置情報の要求ダイアログを表示し、
以降はアプリキルからの起動時、下記のようにユーザが位置情報をOFFにしている場合(ステータスがkCLAuthorizationStatusDenied
)は、再度位置情報の要求ダイアログを表示するようにしています。
Objective
1CLAuthorizationStatus status = [CLLocationManager authorizationStatus]; 2if (kCLAuthorizationStatusDenied == status) { 3 // 位置情報サービスをOFFにしている場合、設定変更を促す 4 if ([self.locationManager respondsToSelector:@selector(requestAlwaysAuthorization)]) { 5 [self.locationManager requestAlwaysAuthorization]; 6 } 7}
ところが、位置情報をONのままにしている状態でも、まれに位置情報要求ダイアログが表示されることがあります。
これは何故でしょうか?
(再現する条件は現在のところ不明です)
位置情報の設定を変更していない場合は、位置情報要求ダイアログを表示しないようにしたいのですが、
実装や設定で何かを変更する必要があるのでしょうか?
確認端末:iPhone6s
OSバージョン:iOS 9.0.2
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/03/03 01:07
2016/03/03 01:27 編集
2016/03/03 02:31 編集