使用 CoreBluetooth/CBCentralManager.h 框架
Posted
技术标签:
【中文标题】使用 CoreBluetooth/CBCentralManager.h 框架【英文标题】:Using CoreBluetooth/CBCentralManager.h framework 【发布时间】:2013-09-04 08:20:08 【问题描述】:我是第一次在我的 Objective-c 代码中使用 CoreBluetooth 框架。
我的 iPhone 版本是 iPhone-3GS。
当我运行我的代码时,我得到的输出是“平台或硬件不支持低功耗蓝牙”。
我看到了 3GS 的规格,知道它支持 v2.1 和 A2DP。但我的预期是蓝牙是开机还是关机。
如何使用 CoreBluetooth 框架通过 Objective-C 代码获取蓝牙状态?
如何通过Objective-c获取蓝牙状态?
谁能分享这方面的链接或教程?
【问题讨论】:
iPhone 3gs 不支持低功耗蓝牙。从 iPhone4s 开始支持 BLE(低功耗蓝牙) 【参考方案1】:CoreBluetooth 是适用于 ios5+ 中蓝牙 LE 的 API。 它不支持“普通”蓝牙或任何“普通”蓝牙配置文件。 据我所知,第一个支持蓝牙 LE 的 iOS 设备是 iPhone 4S——你的 3GS 只是没有正确的硬件。 低功耗蓝牙是蓝牙 4.0 的一部分,用于读取传感器等... https://en.wikipedia.org/wiki/Bluetooth_low_energy
你肯定不能用你的 3GS 让它工作,对不起。
【讨论】:
我尝试使用来自 GitHub 的私有框架“BluetoothManager”,但没有得到异常输出。我只是想要通过Objective-c获取蓝牙状态的方法。任何其他框架或在这种情况下有用的任何链接? 这里真正的问题是 Apple 不希望任何人开发使用普通直接蓝牙的应用程序 - 这就是为什么它没有公共 API。请分享您的框架的链接,我很想知道它的用途。 @Christoph - 嗯,有点。如果标准蓝牙(非 LE)设备获得 MFi 认证,您可以通过外部附件框架与其通信。不过,对于大多数人来说,LE 和 Core 蓝牙是与新兴的通用无线配件类进行通信的方式。 @BradLarson - 同意,这是一个选项。即使我认为 MFi 批准的限制不是“普通”蓝牙。您仍然不会使用 CoreBluetooth 与这些设备进行通信,对吗?以上是关于使用 CoreBluetooth/CBCentralManager.h 框架的主要内容,如果未能解决你的问题,请参考以下文章
在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?
Qt静态编译时使用OpenSSL有三种方式(不使用,动态使用,静态使用,默认是动态使用)