如何通过代码打开位置服务

时间:2011-11-07 09:36:08

标签: iphone

如果位置服务处于关闭状态我如何在我的应用程序中通过代码打开位置服务我希望它通过alertView打开我在alertview中有两个按钮取消&设置 如果我点击设置它需要去设备的设置是否可能???

任何人都可以帮助我吗?

感谢...........

2 个答案:

答案 0 :(得分:4)

您无法在代码中启用位置服务。您只需调用该服务,iOS将代表您的应用程序寻求用户的许可。

答案 1 :(得分:0)

我不得不处理同样的问题,但这在iOS下是​​不可能的。您必须检查位置服务是否已启用:

[CLLocationManager locationServicesEnabled];

如果没有,请要求用户转到设置以启用它(例如通过AlertView)。

请注意Apple说:

  

locationServicesEnabled:您应该检查此返回值   在开始位置更新之前确定用户是否具有的方法   为当前设备启用的位置服务。如果这个方法   返回NO,无论如何都会启动位置更新,核心位置   框架提示用户询问是否有确认面板   应重新启用定位服务。

但这只是在您第一次检查时才起作用。如果用户拒绝,则不再显示确认面板。

您也可以查看:

switch ([CLLocationManager authorizationStatus]) {

        case kCLAuthorizationStatusDenied:
        case kCLAuthorizationStatusRestricted:
        case kCLAuthorizationStatusNotDetermined:
    }