2

我正在使用此代码打开蓝牙屏幕设置:

NSURL *url = [NSURL URLWithString:@"prefs:root=General&path=Bluetooth"];
[[UIApplication sharedApplication] openURL: url];

但它不起作用,我使用的是 iOS 6.0 SDK

4

4 回答 4

2

我相信在 iOS 5.1 中不推荐打开设置应用程序。

于 2012-11-22T17:19:24.307 回答
2

似乎所有编程方式都是通过 url(仅适用于 5.0),或直接修改设置(非公共 api)。

但是,它也必须在 5.1+ 上以某种方式成为可能,例如“Runtastic”-App 在您启动它时正是这样做的(显示询问您是否要打开蓝牙设置的对话框)。

于 2012-11-29T16:29:57.763 回答
2

Swift 3.0 & iOS 10 及以上

func openBluetoothSettings(){
        let urlBTSet = URL(string: "App-Prefs:root=Bluetooth")
        let objApp = UIApplication.shared
        objApp.openURL(urlBTSet!)
    }

目标-c

-(void) openBluetoothSettings{
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"App-Prefs:root=Bluetooth"]];
}

所以,在上面的代码中,他们改变的是字符串需要添加“App-Prefs:root=Bluetooth”(这是打开蓝牙设置的例子)

不要忘记:'Goto taget -> info -> URL Types -> Add "prefs" in URL Schemes'

于 2017-01-27T13:20:36.937 回答
0

这是 iOS 6.0 的问题,但对于 iOS 8/9,这是答案,

转到您的 XCode 项目,在 Info -> URL Types 部分 -> URL Scheme 中的“prefs”下

在 IOS9 中:让 url = NSURL(string: "prefs:root=Bluetooth")!

IOS8: 让 url = NSURL(string: "prefs:root=General&path=Bluetooth")!

于 2016-03-18T07:34:58.350 回答