使用 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有三种方式(不使用,动态使用,静态使用,默认是动态使用)

MySQL db 在按日期排序时使用“使用位置;使用临时;使用文件排序”

使用“使用严格”作为“使用强”的备份

Kettle java脚本组件的使用说明(简单使用升级使用)