ここで認証状態に問題があります。何が起こっているのかわかりません。
if(sender.on == TRUE)
{
[self.locationManager startUpdatingLocation];
[self.locationManager startUpdatingHeading];
CLAuthorizationStatus authStatus = [CLLocationManager authorizationStatus];
bool headingStatus = [CLLocationManager headingAvailable];
if( !(authStatus == kCLAuthorizationStatusAuthorized))
{
[self processFailedAuthorization:authStatus];
[locationManager stopUpdatingHeading];
[locationManager stopUpdatingLocation];
sender.on = FALSE;
}
kCLAuthorizationStatusNotDetermined
ユーザーに承認を求めたばかりであるにもかかわらず、authStatus が時々表示されるようです。
デバッガーでコードをステップ実行しましたが、チェックする前に少し待つとCLAuthorizationStatus
承認されたように返されますが、すぐにチェックすると返されないようです。
1 秒ほど待ってから続行できることはわかっていますが、必要な遅延についてのドキュメントには何もありません。
どうしたの?