Swift 如何使用按钮OSX启用蓝牙

Swift 如何使用按钮OSX启用蓝牙,swift,xcode,macos,Swift,Xcode,Macos,是否可以使用macOS上的按钮启用蓝牙(打开可发现性)?或者在应用程序打开时启用它?我在网上四处寻找解决方案,但一切都指向iPhone和iOS的开发,而不是Mac方面的任何东西。所有面向iOS的内容都表明,在移动设备上不可能这样做,但可以显示一个警报,通知用户打开蓝牙以使用其附件。是否可以使用任何警报类型 编辑:我能找到的最接近这一点是以编程方式打开系统首选项的Bluetooth窗格 这是一个私有API 将以下内容添加到桥接标头: void IOBluetoothPreferenceSetCon

是否可以使用macOS上的按钮启用蓝牙(打开可发现性)?或者在应用程序打开时启用它?我在网上四处寻找解决方案,但一切都指向iPhone和iOS的开发,而不是Mac方面的任何东西。所有面向iOS的内容都表明,在移动设备上不可能这样做,但可以显示一个警报,通知用户打开蓝牙以使用其附件。是否可以使用任何警报类型

编辑:我能找到的最接近这一点是以编程方式打开系统首选项的Bluetooth窗格

这是一个私有API

将以下内容添加到桥接标头:

void IOBluetoothPreferenceSetControllerPowerState(int);
并用
1
调用它以启用或
0
禁用:

func setBluetooth(on: Bool) {
    IOBluetoothPreferenceSetControllerPowerState(on ? 1 : 0)
}

setBluetooth(on: true)
不要忘记在Swift文件中导入IOBluetooth


要获取当前状态,请使用
int-IOBluetoothPreferenceGetControllerPowerState()

在我收到的所有结果中,我从未得到过那个结果。我希望将此应用程序分发给不止一个人,命令行工具是否必须安装在他们的Mac上,或者只是安装到程序本身中,或者如何与之通信@Larme你可能想调查一下。API是私有的,所以它在应用商店上永远不会工作,但是你可以让它工作。是的,我理解@RyanCollins。Larme把我和它联系起来了。阅读我的提问,我在本地发布这个程序,而不是公开发布,所以这一切都很好,我只是想知道这个命令行工具是否需要安装在每台笔记本电脑上,或者只是以某种方式安装到程序中。。?谢谢请参见下面的答案这是在使用blueutil api吗?我不能只执行一个shell脚本吗?不,这是在使用IOBluetooth框架。blueutil也使用this this this this runnable in playland?不幸的是,没有,因为你不能在操场上创建桥接头,但你可以创建一个简单的命令行mac应用程序,在main.swift文件中添加桥接头和以上内容。我现在明白了,在执行按钮任务之前,我甚至没有返回bool。谢谢