【问题标题】:Open bluetooth settings on button tap点击按钮打开蓝牙设置
【发布时间】:2015-10-23 02:50:25
【问题描述】:

到目前为止,我已经做了足够多的工作来了解这在 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

【问题讨论】:

    标签: ios objective-c bluetooth


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      这适用于 iOS 版本 5.1 及更高版本

      您必须在 Xcode 的 info.plist 选项卡的 URL 类型 中添加 URL 方案 prefs,如下所示:

      Objective-C

      [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=WIFI"]];
      

      斯威夫特

      UIApplication.sharedApplication().openURL(NSURL(string: "prefs:root=WIFI")!)
      

      这将从您的应用程序中打开 WIFI 设置。

      相关的 SO 链接:

      【讨论】:

      • ios 9 上测试过,它可以工作,但我在 ios 11 上试过,prefs:root=Bluetooth 不起作用,App-Prefs:root=Bluetooth 确实打开了设置,但不是蓝牙。 App-prefs:root=Bluetooth 确实在 ios 11 上工作过,所以这个案例似乎很重要。 ? 仅在 Url 方案中需要 prefs
      • @GabLeRoux 在 iOS 11 上我们是否也需要添加 URL 类型...对我来说,没有任何解决方案有效,有什么想法吗?
      • 我正在升级到最新的 ios 版本,并会再试一次。但是我发现这个 github 项目说 ios11 有问题:github.com/phynet/iOS-URL-Schemes
      【解决方案3】:

      注意:以下方法适用于 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))

      【讨论】:

      • 在 iOS 11 上不起作用,只会打开设置页面。有更新吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-13
      • 2013-06-10
      • 2017-03-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多