问题标签 [cbcentralmanager]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
444 浏览

ios - CoreBluetooth 检测外设

我有一些关于 coreBluetooth 的问题我不确定

如果我在 iOS 设备上实现 CBCentralManager 并使用 nil 作为我的 CBUUID 标签运行“ScanForPeripherals”,我是否能够检测到其他开启蓝牙的手机?还是必须是蓝牙配件广告?

CoreBluetooth 是否仅检测实现蓝牙低功耗的设备?

为了使用 CoreBlueTooth 检测外设对象,您是否必须为外设实现代码并在另一台设备上测试运行它?

谢谢

0 投票
2 回答
4841 浏览

ios - CoreBluetooth Central --> 外设

我对蓝牙通信很陌生。我的第一个项目打算将数据从 iOS 设备传输到 BLEshield(小芯片)。

为了测试我的中心代码,我决定将 iPhone 设置为外围设备(一旦我拿到芯片,它将扮演的角色)和 iPad 作为中心。

我可以连接设备并将数据从外围设备发送到中央设备。不过这很容易:

但我无法让另一个方向起作用。要从中心端发送数据,我有以下代码:

我假设应该在外围设备上调用这些方法之一:

但实际上什么也没发生。不幸的是,我的硬件项目将使用只能在外围模式下工作的芯片,最后我将几乎完全写入外围设备,因为它是控制信号的发送器。

我希望有一个人可以帮助我!

0 投票
2 回答
842 浏览

ios - 使用 Arduino 的 CoreBluetooth 外设

如果我想将外围设备(Arduino)连接到我的中央设备(Iphone),我是否必须将 arduino 中的数据结构化为服务和特征?我见过一些项目,其中 iphone 连接到 arduino 但 iphone 扫描 UUID 和服务,所以我不确定他们如何在 arduino 端实现代码?

0 投票
1 回答
1239 浏览

ios - 使用 LightBlueApplication 通过 BLE 读取 NSdata

我正在尝试读取存储在 lightBlue 应用程序中的值,但问题是它似乎无法获取字符串。它检测到我正在读取数据,但是当我将数据转换为字符串时,它会输出 @""

0 投票
1 回答
3863 浏览

ios - _CBCentralManagerOptionShowPowerAlertKey 使用 PogoConnect SDK 时

我正在使用包含 Pogo Connect SDK 的 SDK。当我添加 SDK 并构建时,我得到了一些错误。然后我导入了 AVFundation 和 CoreBluetooth 库。在添加 CoreBluetooth 库之前,我收到此错误:

但是在添加这个库之后,我仍然得到这个错误:

我一直在寻找解决方案,但我发现这个“CBCentralManagerOptionShowPowerAlertKey”在 CoreBluetooth 库中。

有什么建议吗??

提前致谢!!

0 投票
3 回答
7584 浏览

ios - 核心蓝牙状态保存和恢复不起作用,无法将应用重新启动到后台

我试图让核心蓝牙唤醒应用程序,即使它没有运行。

正如 Apple 所说,“由于 Core Bluetooth 内置了状态保存和恢复功能,您的应用程序可以选择加入此功能,以要求系统保留您的应用程序的中央和外围管理器的状态,并继续执行某些与蓝牙相关的任务。代表他们,即使您的应用程序不再运行。当其中一项任务完成时,系统会将您的应用程序重新启动到后台,并让您的应用程序有机会恢复其状态并适当地处理事件。

我添加了以下代码以选择加入此功能:

但是应用程序被唤醒时的回调从未被触发。

这两个永远不会被调用。

我测试这个唤醒功能的方式:

  1. 我在 info.plist 的后台模式中添加了“蓝牙中央”,因此 BLE 在后台运行。

  2. 在我的 iphone 1 中启动 centralManager。开始扫描。

  3. 按回家然后出去,玩一些内存重的游戏,在调试日志中我会看到:“由于内存压力而终止。进程以退出代码 0 完成”。这是为了模拟ios系统如何因内存压力而终止后台应用程序。

  4. 用另一个 iphone No.2 启动一个信标并开始广播。

  5. 结果:那些重新启动的回调永远不会被调用。

任何想法为什么这不起作用?如果是 API 问题,当您的手机接近 BLE 信标时,是否有任何其他方法可以使用 BLE 将您的应用重新启动到后台?我尝试过使用 ibeacon 来唤醒应用程序,但核心蓝牙中央管理器不允许您在后台连接到 ibeacon。

谢谢!

0 投票
2 回答
2103 浏览

ios - 未在不同线程上调用委托

我正在尝试使用 CoreBluetooth 框架,并且我创建了一个帮助器类 (btHelper) 以使代码更易于维护等。

问题是,在这个帮助类中,委托方法不再像原来那样被调用,当所有东西都被压缩到大类中时。是的,我已经在助手类的 .h 中设置了委托方法,是的,我已经将对象 CBCentralManager 委托设置为 self。我所做的几乎所有事情都和在一个班级里时一样。我相信它与主线程有关,但我在这方面的经验很少。

具体来说,我想要调用的委托方法是

谁能告诉我我必须做什么才能让代表调用在这个助手类中正常工作?谢谢!

下面是PrimaryViewController类和btHelper类

btHelper.m

PrimaryViewController.m

0 投票
1 回答
694 浏览

ios - iOs CoreBluetooth 中央服务器和外围客户端

目前,iOS 不支持 GAP Central 角色和 ATT Server 角色的组合以及 GAP Peripheral 角色和 ATT Client 角色的组合。

苹果在这方面工作吗?有人知道什么时候可以这样做吗?

0 投票
1 回答
3151 浏览

queue - CoreBluetooth - 禁用重复密钥过滤器会导致警告

当我使用以下方法禁用重复键过滤时:

构建和运行工作正常(并捕获所有广告数据包),但它总是首先产生此错误:

“CoreBluetooth[WARNING] 正在禁用重复过滤,但使用默认队列(主线程)处理委托事件”

如果我添加,我可以停止显示警告:

在我创建 CBCentralManager 实例并将队列参数设置为 centralQueue 之前。这是解决此问题的正确方法吗?或者,还有更好的方法?

谢谢

0 投票
1 回答
459 浏览

ios - CBCentralManager iOS 问题?

我知道这个问题已被多次问过,但我的情况与其他情况略有不同。我能够成功地在我的应用程序(iPhone 5、iPhone 4S、iPad 3)中使用不同的 ios 版本连接和接收心率设备的值。但是在客户端,它根本不起作用,不知道为什么。

我今天也再次调试代码,它在 iPhone 5,5C 和 iPad 3 上运行良好,但在 iPhone 4S 和 iOS 6.1.3 上,我得到了 CBCentralManager.state = 2 (未开机)可能这是客户端的问题也结束了?

有人可以解释一下发生了什么吗?如果相同的代码在 iPhone5、5c、iPAd 3 上运行良好,那么为什么不在客户端以及现在我的 4S 上运行呢?有人可以指出发生了什么,因为现在我对此感到非常沮丧。任何指导都将是非常可观的。谢谢