Ios iphone/ipad开发人员-如何以编程方式启动系统设置应用程序

Ios iphone/ipad开发人员-如何以编程方式启动系统设置应用程序,ios,iphone,ipad,settings,core-location,Ios,Iphone,Ipad,Settings,Core Location,在设置->常规中,有一个开关用于打开/关闭位置服务。在“地图”应用程序中,当位置服务关闭时,如果用户单击“查找我”按钮,它会弹出一个警报,并要求用户在“设置”中打开位置服务。然后退出应用程序并启动设置应用程序。我如何在我的应用程序中以编程方式实现这一点?我还没有读完整个问题 但是,见: (原始答复:设置应用程序似乎没有自定义URL方案,因此答案似乎是“否”。如果您只是通过[CLLocationManager startUpdatingLocation]使用位置服务,则如果位置服务被禁用,它将自动

在设置->常规中,有一个开关用于打开/关闭位置服务。在“地图”应用程序中,当位置服务关闭时,如果用户单击“查找我”按钮,它会弹出一个警报,并要求用户在“设置”中打开位置服务。然后退出应用程序并启动设置应用程序。我如何在我的应用程序中以编程方式实现这一点?

我还没有读完整个问题

但是,见:


(原始答复:设置应用程序似乎没有自定义URL方案,因此答案似乎是“否”。

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

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


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

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

hm,我以前读过这篇文章,但我不确定他们指的是哪个版本的API。此外,当位置服务关闭时,每个使用谷歌地图的应用程序都会发出相同的警报。还是自动弹出?我相信这是MapKit的一部分。