未调用CLLocationManager委托

时间:2014-10-10 18:28:50

标签: ios iphone ibeacon

我正在使用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,因此不确定这是否是一个错误

1 个答案:

答案 0 :(得分:0)

This answer可能有所帮助......它至少为我解决了这个问题。同样this website也是这个问题的一个很好的演练。

您似乎正在正确调用requestAlwaysAuthorization,但是您是否在任何地方呼叫startUpdatingLocation?另外,请仔细检查 Info.plist 中是否添加了相应的键和字符串值(NSLocationAlwaysUsageDescription,因为您正在使用requestAlwaysAuthorization)。