我知道在iOS 4中不推荐使用属性locationServicesEnabled。相反,我应该调用locationServicesEnabled
在我的app委托方法
中-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//Some Code Here...
CLLocationManager *manager = [[CLLocationManager alloc] init];
if (![manager locationServicesEnabled])
{ //show an alert
}
}
我调用了这个方法,然而,Xcode向我显示了一个警告“locationServicesEnabled已被弃用”。谁知道如何解决这个问题?由于该警告,如果我在系统首选项中关闭了位置服务,则无法显示警报视图。
谢谢!
答案 0 :(得分:52)
来自文档:
locationServicesEnabled:一个布尔值,指示是否位置 设备上启用了服务。 (只读)(在iOS中弃用 的 4.0。请改用locationServicesEnabled类方法。)
因此,您应使用[manager locationServicesEnabled]
[CLLocationManager locationServicesEnabled]
答案 1 :(得分:12)
如果您只想知道您的应用程序是否有使用GPS的权利,您需要检查 [CLLocationManager authorizationStatus]
您可以在CLLocationManager类参考中看到此类方法。
答案 2 :(得分:0)
如果您正在开发适用于iOS 4或更高版本的应用,您可以/评论/或删除如下:
- (BOOL)isLocationServicesEnabled
{
BOOL locationServicesEnabledClassPropertyAvailable = [CLLocationManager respondsToSelector:@selector(locationServicesEnabled)];// iOS 4.x
if (locationServicesEnabledClassPropertyAvailable) { // iOS 4.x
return [CLLocationManager locationServicesEnabled];
} else {
return NO;
}
}
答案 3 :(得分:0)
因此,您只需删除car
并将其替换为max()
已解决的问题...