我正在尝试获取iOS设备的地理位置 . 我可以使用CoreLocation框架获取当前位置的坐标 .
但问题是我必须处理从设备设置禁用位置服务的情况 . 在这种情况下,我必须根据要求将用户重定向到我的应用程序中的设置 .
我知道我可以在iOS 5.1之前使用以下方案来做到这一点
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs://"]];
但是,如何在这个较新的版本中处理这个问题 . 很久以来我一直坚持这个,没有解决方案 . 请指教 .
2 回答
你应该调用:[CLLocationManager locationServicesEnabled]
正如它在这里所述:
http://developer.apple.com/library/ios/#documentation/CoreLocation/Reference/CLLocationManager_Class/CLLocationManager/CLLocationManager.html
@Rashmi - 你可能会在其他地方遇到麻烦 .
CoreLocation Framework会自动检测是否通过生成警报从设备禁用了位置设置,并自动将您带到设备设置 . 我已在iOS7,iOS6设备中验证了这一点 .
此外,我用Google搜索并发现这是从应用程序打开设置的唯一方法,并且与您的匹配已写入 .
您也可以点击此网址以供参考Open Device Settings from the app
对于核心位置,你可以看到这个演示CoreLocation