我在这里对授权状态有些麻烦,我不确定发生了什么。
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
那么它确实会按授权返回,而如果我立即检查则不会。
我知道我可以等待一秒钟左右然后继续,但文档中没有任何关于需要延迟的内容。
这是怎么回事?