2010-06-10 49 views
4

在设置 - >常规中,有一个开关来打开/关闭位置服务。在地图应用程序中,当位置服务关闭时,如果用户单击查找我按钮,它会弹出警报并要求用户在设置中打开位置服务。然后退出应用程序并启动设置应用程序。我怎样才能在我的应用程序中以编程方式执iphone/ipad开发 - 如何以编程方式启动系统设置应用程序

回答

0

我没有读完整个问题!

但是,请参阅:Programmatically opening the settings app (iPhone)

(原件回复:设置应用程序似乎并不具有自定义URL方案,所以看来,答案是“否”)

+0

嗯,我之前阅读过这篇文章,但我不确定他们引用哪个版本的API。另外,当位置服务关闭时,使用谷歌地图的每个应用程序都具有相同的警报。或者是自动弹出? – Brian 2010-06-10 19:58:55

+0

我相信这是MapKit的一部分。 – Wevah 2010-06-10 20:25:27

1

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

但是,当您的特定应用被用户拒绝使用位置服务时,无法强制显示警报(在iOS 4中,通过在位置设置中禁用您的应用,在iOS 3中拒绝CoreLocation请求应用程序的前两个开始)。您只在-locationManager:didFailWithError:中收到kCLErrorDenied错误。

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

3

从iOS 5.0开始,您可以使用“prefs://”URL方案以编程方式打开设置应用程序。你在早期版本上运气不佳。

相关问题