我正在使用我的iOS8应用程序并为iOS9做好准备。我已经读过CLLocationManager现在有一个名为allowsBackgroundLocationUpdates的成员变量,需要为iOS9设置为true。但是,Xcode不会将其识别为CLLocationManager的成员。我需要更改什么才能让Xcode识别该属性?我正在运行Xcode 7。
- (BOOL)isLocationServicesEnabled
{
BOOL locationServicesEnabledInstancePropertyAvailable = [self.locationManager respondsToSelector:@selector(locationServicesEnabled)]; // iOS 3.x
BOOL locationServicesEnabledClassPropertyAvailable = [CLLocationManager respondsToSelector:@selector(locationServicesEnabled)]; // iOS 4.x
if (locationServicesEnabledClassPropertyAvailable) { // iOS 4.x
return [CLLocationManager locationServicesEnabled];
} else if (locationServicesEnabledInstancePropertyAvailable) { // iOS 2.x, iOS 3.x
return [CLLocationManager locationServicesEnabled];
} else {
return NO;
}
}
答案 0 :(得分:0)
此功能(allowsBackgroundLocationUpdates
)仅适用于iOS 9。请注意,它是实例属性,而不是类属性。
只要您连接iOS 8就不必担心,因为即使您在iOS 9上运行它也不会影响您。如果您要连接iOS 9,则必须设置此属性您持有的每个CLLocationManager实例,或者您的后台位置更新都不会发生。