我正在使用此代码打开蓝牙屏幕设置:
NSURL *url = [NSURL URLWithString:@"prefs:root=General&path=Bluetooth"];
[[UIApplication sharedApplication] openURL: url];
但它不起作用,我使用的是 iOS 6.0 SDK
我相信在 iOS 5.1 中不推荐打开设置应用程序。
似乎所有编程方式都是通过 url(仅适用于 5.0),或直接修改设置(非公共 api)。
但是,它也必须在 5.1+ 上以某种方式成为可能,例如“Runtastic”-App 在您启动它时正是这样做的(显示询问您是否要打开蓝牙设置的对话框)。
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'
这是 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")!