按钮点击打开蓝牙设置

时间:2015-07-31 12:13:12

标签: ios objective-c bluetooth

到目前为止,我已经做了足够的事情,以至于在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

3 个答案:

答案 0 :(得分:2)

我有同样的问题,现在你只能打开当前的应用程序设置,抱歉..... =( https://developer.apple.com/library/ios/releasenotes/General/WhatsNewIniOS/Articles/iOS8.html

答案 1 :(得分:2)

这适用于iOS版 5.1及以上

您必须在Xcode的prefs标签中的网址类型中添加网址info.plist,如下所示:

url types in info.plist tab

<强>目标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))