我正在使用iBeacons,但遇到了一个小问题。
首次使用时,用户需要给予权限,然后我们将跟随以下内容:
_locationManager = [[CLLocationManager alloc] init];
_locationManager.delegate = self;
[_locationManager requestAlwaysAuthorization];
但是,我希望调用以下委托方法:
- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status {
NSLog(@"Auth status changed: %i", status);
if(status > 3){
// Check if we have to start monitoring beacons
NSLog(@"Do we need to initialise after auth given?");
//[self initialiseLocations];
}
}
我正在运行iOS 8.0.2,因此不确定这是否是一个错误
答案 0 :(得分:0)
This answer可能有所帮助......它至少为我解决了这个问题。同样this website也是这个问题的一个很好的演练。
您似乎正在正确调用requestAlwaysAuthorization,但是您是否在任何地方呼叫startUpdatingLocation
?另外,请仔细检查 Info.plist 中是否添加了相应的键和字符串值(NSLocationAlwaysUsageDescription
,因为您正在使用requestAlwaysAuthorization
)。