iOS可编程获取蓝牙设备列表及信息

5

我是这个社区的新人。我需要帮助解决Objective-C中蓝牙的问题。我想发现所有可用的蓝牙设备并获取有关现有连接的信息。(不是对外设的扫描!)在iOS中是否可能?例如,设置 > 蓝牙中的列表!


2
不,这是不可能的。 - Paulw11
你需要哪种类型的信息? - Sagar Bhut
由于苹果非常注重隐私和安全,他们不提供任何API来获取除了应用程序平稳运行所需的连接之外的任何信息,以维护其他应用程序或进程正在运行的连接的完整性和安全性。 - Anurag Soni
1个回答

2
是与否,这取决于您的设置。
不,使用公共API不可能实现这一点。
是的,使用BluetoothManager.framework技术上是可能的。我的演示项目BeeTee¹展示了如何并封装了底层部分。
然而,基于AppStore指南§2.5关于私有(未记录)函数的规定,无法在AppStore中发布使用BeeTeeBluetoothManager.framework的应用程序。
如果您决定使用BeeTee框架,您可以轻松列出所有范围内的蓝牙设备:
class Demo: BeeTeeDelegate {
    let beeTee = BeeTee()

    init() {
        beeTee.delegate = self
        beeTee.enableBluetooth()
        beeTee.startScanForDevices()
    }

    func receivedBeeTeeNotification(notification: BeeTeeNotification) {
        switch notification {
        case .DeviceDiscovered:
            for device in beeTee.availableDevices {
                print(device)
            }
        default:
            print(notification)
        }
    }
}

如果您正在使用iOS 11,请考虑pull request #16。不幸的是,我现在太忙了,还无法合并此拉取请求。

¹ 我是BeeTee的作者。 :-)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接