iPhone/iPad开发 - 如何以编程方式启动系统设置应用程序

4
在设置中的“通用”选项里,有一个开关控制位置服务的开启/关闭。在地图应用中,如果用户关闭了位置服务,当用户点击“找到我”的按钮时,会弹出一个警告并要求用户在设置中开启位置服务。然后它退出应用程序并启动设置应用程序。我该如何在我的应用程序中以编程方式实现这个功能?
3个回答

3

iOS 5.0及以上版本可以通过“prefs://”URL方案编程方式打开设置应用程序。但在早期版本中会遇到困难。


1

如果您只是使用[CLLocationManager startUpdatingLocation]的位置服务,如果位置服务被禁用,它将自动弹出您描述的警报。

然而,当用户拒绝在iOS 4中通过在位置设置中禁用您的应用程序,在iOS 3中通过在应用程序的前两次启动时拒绝CoreLocation请求时,没有办法强制显示警报。您只会在-locationManager:didFailWithError:中收到kCLErrorDenied错误。

Maps.app在这种情况下会显示带有设置按钮的警报,但看起来他们正在使用私有API。


0

嗯,我之前看过那篇帖子,但我不确定他们所指的API版本是哪个。此外,每个使用谷歌地图的应用程序在位置服务关闭时都会出现相同的警报。或者那个弹出窗口是自动出现的吗? - Brian
我相信那是MapKit的一部分。 - Wevah

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接