到目前为止,我已经做了足够的事情,以至于在iOS 5.1及更低版本中这是如何实现的,并且在上述任何版本中都不可能。
但其他应用程序是如何做到的?
到目前为止,我已尝试过以下内容(在 iOS 8.1 模拟器上测试,在 Xcode 上测试):
- (void)turnOnBlueToothPressed:(id)sender {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
}
这将打开应用程序的设置。不理想,但它就是它。
AFAIK,使用以下内容:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=General&path=Bluetooth"]]
不再有效。或者,任何人都可以指向官方文档,声明它不再适用于任何版本> iOS 5.1 ?
答案 0 :(得分:2)
我有同样的问题,现在你只能打开当前的应用程序设置,抱歉..... =( https://developer.apple.com/library/ios/releasenotes/General/WhatsNewIniOS/Articles/iOS8.html
答案 1 :(得分:2)
这适用于iOS版 5.1及以上。
您必须在Xcode的prefs
标签中的网址类型中添加网址info.plist
,如下所示:
<强>目标C 强>:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=WIFI"]];
<强>夫特强>:
UIApplication.sharedApplication().openURL(NSURL(string: "prefs:root=WIFI")!)
这将从您的应用程序中打开WIFI设置。
相关SO链接:
答案 2 :(得分:0)
注意:以下方法适用于iOS 11以下的所有版本,对于更高版本的应用可能会被拒绝,因为它是私有API 这属于准则2.5.1 - 性能 - 软件要求
以下是所有short url strings的列表:
如果您想打开蓝牙设置:
斯威夫特3:
let url = URL(string: "App-Prefs:root=Bluetooth")
let app = UIApplication.shared
app.openURL(url!)
使用以下代码打开设置:
UIApplication.sharedApplication().openURL(NSURL(string: UIApplicationOpenSettingsURLString))