好吧,我知道关于它有很多问题,但它们都是很久以前的事了。
所以。我知道这是可能的,因为地图应用程序做到了。
在地图应用程序中,如果我关闭这个应用程序的本地化,它会给我发送一条消息,如果我按ok,“设置应用程序”就会打开。 我的问题是,这怎么可能呢? 如何从我自己的应用程序打开“设置应用程序”?
基本上我需要做同样的事情,如果用户关闭了我的应用程序的位置,那么我就会给他显示一条信息,上面写着将打开“设置应用程序”
好吧,我知道关于它有很多问题,但它们都是很久以前的事了。
所以。我知道这是可能的,因为地图应用程序做到了。
在地图应用程序中,如果我关闭这个应用程序的本地化,它会给我发送一条消息,如果我按ok,“设置应用程序”就会打开。 我的问题是,这怎么可能呢? 如何从我自己的应用程序打开“设置应用程序”?
基本上我需要做同样的事情,如果用户关闭了我的应用程序的位置,那么我就会给他显示一条信息,上面写着将打开“设置应用程序”
当前回答
在iOS 10上测试。工作
NSArray* urlStrings = @[@"prefs:root=WIFI", @"App-Prefs:root=WIFI"];
for(NSString* urlString in urlStrings){
NSURL* url = [NSURL URLWithString:urlString];
if([[UIApplication sharedApplication] canOpenURL:url]){
[[UIApplication sharedApplication] openURL:url];
break;
}
}
快乐编码:)
其他回答
添加到接受的答案:(来自苹果开发者文档)当你打开这个字符串(openSettingsURLString)构建的URL时,系统启动设置应用程序,并显示应用程序的自定义设置(如果有的话)。如果你想打开应用的设置,创建你自己的settings。bundle。
是的! !你可以启动设备设置界面,我已经在iOS 9.2上测试过了
步骤1。我们需要添加URL方案
去项目设置——>信息——> URL类型——>添加新的URL方案
步骤2。通过编程启动设置感谢@davidcann
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs://"]];
此外,我们还可以通过使用适当的名称来启动音乐、位置等子屏幕
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=MUSIC"]];
请看亨利·诺马克分享的完整名单
更新:
根据评论,每个人都想知道我的申请提交状态改变后会发生什么?
是的! !我获得了成功的更新提交和应用程序可在商店没有任何抱怨。
确认一下, 我今天早上刚下载并禁用了位置服务,然后启动了应用程序,它要求我获得位置权限,然后我的警报弹出在那里发送给我设置->位置服务页面->启用->就是这样!!
(注意:! 你的应用可能会被拒绝……如果你使用这种方法,即使它被批准了,在将来的版本中也可能会被拒绝
来自@Yatheeshaless的回答:
你可以在iOS8中以编程方式打开设置应用程序,但在早期版本的iOS中不能。
迅速:
UIApplication.sharedApplication().openURL(NSURL(string:UIApplicationOpenSettingsURLString)!)
斯威夫特4:
if let url = NSURL(string: UIApplicationOpenSettingsURLString) as URL? {
UIApplication.shared.openURL(url)
}
Swift 4.2 (BETA):
if let url = NSURL(string: UIApplication.openSettingsURLString) as URL? {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
objective - c:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
斯威夫特4
我更喜欢以更安全的方式打开设置,
if let settingUrl = URL(string:UIApplicationOpenSettingsURLString) {
UIApplication.shared.open(settingUrl)
}
else {
print("Setting URL invalid")
}
您可以使用下面的代码。
[[UIApplication sharedApplication]openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];