问题标签 [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 投票
1 回答
1565 浏览

objective-c - Objective- C 如何使用 Core Bluetooth 发送带有字节数组的数据

我正在尝试通过 Core Bluetooth 发送一个 typedef 对象,另一个设备将可以访问并能够使用该对象。@implementation NeeAppDelegate typedef struct { float a, b, c,

所以在这里我声明了我想通过核心蓝牙发送的 typedef 类,我认为这是可以的。然后在后面的方法中:

现在我将类切换到我处理数据发送的外围 ViewController。

这是我用来将数据发送到另一台设备的 dataSend 方法

}

现在在我的 CentralManager 类中,我将如何设法访问 byteArray 中的数据?我知道从您需要使用的字节数组中获取值的格式

0 投票
1 回答
1063 浏览

ios - 一台设备的 CBCentral 和 CBPeripheral 标识符是否相同

标题说明了一切。我想知道的是,如果一个设备被用作外围设备和中央设备并且靠近另一个被用作外围设备和中央设备的设备,那么每个设备上的外围设备管理器和中央管理器是否会看到相同的“标识符”属性在 CBPeripheral 和 CBCentral 对象上对应于该区域中的其他设备?

0 投票
0 回答
64 浏览

ios - 尝试使用 CBCentralManager 与 Arduino 蓝牙通话

我目前正在开发一个项目,其中 arduino 中的 LTE 蓝牙模块向 Iphone 发送消息。我开始阅读 CBCentral 经理的苹果文档的 iphone 应用程序,并编写了这段代码

}

}

当我实例化 CBCentralManager 并设置委托和自我并启动应用程序时,不会调用 centralManagerDidUpdateState 。

0 投票
1 回答
1941 浏览

ios - 从 CBCentral 更新特征值

我已经成功地让我的 iOS 应用程序(外围)向我的 OSX 应用程序(中央)发送消息。

我现在在尝试让 Central 更新特征值并从 Peripheral 读取它时遇到问题。

如果我将 CBCharacteristicProperties 更改为 Notify 以外的任何内容,我的中心无法订阅该特征并出现以下错误:“不允许写入”。

据我了解,为了必须将 Central 写入 Peripheral,我应该在 Peripheral 中使用上述行的组合,并带有此事件:

这在中央更新特征值:

请让我知道我做错了什么。任何展示如何做我想做的事情的示例项目都将受到高度赞赏。

谢谢

0 投票
1 回答
1486 浏览

ios - 使用 CoreBluetooth 提高文件传输速度

我目前有我的 OSX 应用程序(中央)通过使用 writeValue 的可写特征向我的 iOS 应用程序(外围)发送 4Kb 图像。

由于图像大小超出限制,我多次使用 writeValue 和以下函数:

我的问题是它需要的时间比我需要的要长得多,大约 30 秒。

奇怪的是,即使我在发送图像时使用 CBCharacteristicWriteType.WithoutResponse ,我也会得到他们的响应,我想知道这是否会使其变慢。

这就是我在外围设备方面的特色设置:

我为 NOTIFY_MTU 尝试了不同的值,范围从 20 到 900,但它越高,writeValue 执行的次数越少,但每个包到达所需的时间越长。

我已经看到传输执行得更快,关于如何改进它的任何建议?

谢谢

0 投票
1 回答
559 浏览

ios - iOS 8 和 ble CBCentralManager 不工作

我有一个使用 ble 连接到设备的 iOS 应用程序。iOS 7 正在运行。升级到 iOS 8 后,CBCentralManager 没有找到任何外围设备。

0 投票
1 回答
692 浏览

background - iOS CoreBluetooth 在后台同时作为外围设备和中央设备运行

我正在使用 iOS8 中的 CoreBluetooth 编写一个应用程序,该应用程序可以检测并连接到使用该应用程序的其他手机。我试图找出能够在两个应用程序都在后台创建连接的最佳方法,但是在两部手机都在后台+锁定的情况下遇到了困难。我遵循了这篇文章的建议:

如何在 iOS 7.1 中在后台和前台使用蓝牙 LE 检测附近的设备?

当两部手机都在后台+锁定时,我无法建立连接,但是我已经能够建立连接,其中外围设备和中央都在后台+锁定,然后我解锁中央(中央仍在后台) . 当我解锁外围设备时,虽然没有任何反应。当它们处于后台但未锁定时,它也可以工作。

因此,为了在我解锁“外设”时允许建立连接,我决定在两部手机上创建一个中心和外设,以同时扫描和发布广告。无论哪个先发现另一个,都会停止扫描/广告并连接。我遇到了以下两个问题中详细介绍的这种方法的问题:

在 iOS 上同时使用外设和中央

iOS CoreBluetooth 同时外设和中央管理器

基本上,我认为当我的两个设备尝试同时相互连接时,它们会在尝试连接时挂断,并且从不会在其中任何一个上调用 didConnectPeripheral(它们显示的最后一件事是一条消息,表明它们是尝试连接)。虽然它偶尔会起作用,所以我也有点困惑,为什么连接具有概率性质。有没有人对如何解决这个问题有任何建议?如果在两个应用程序都在后台+锁定时建立连接有更好的方法,请告诉我,因为那是我最初的问题。

谢谢!

0 投票
1 回答
332 浏览

ios8 - 除非重新启动蓝牙,否则 CBCentral 无法找到外围设备的服务

我有两个应用程序通过 CoreBluetooth、iOS 和 Today Extension(外围)和 OSX(中央)进行通信。

1 - 设置过程(iOS 应用程序 x OSX 应用程序):它们连接、交换存储的数据并断开连接。

2 - 应用程序的主要功能使用(iOS Today Extension x OSX 应用程序):它们连接、交换数据和断开连接。

除非我在第 1 步和第 2 步之间关闭并再次打开 iPhone 的蓝牙,否则 OSX 应用程序会找到 iPhone,连接,但在 OSX 应用程序中调用 peripheral.discoverServices 后从 Today Extension 中找到 0 个服务。

如果我确实关闭和打开蓝牙,一切都会按预期进行。会是什么呢?非常欢迎任何帮助。谢谢!

更新:在 OSX 上使用 LightBlue 后,我能够确认,除非我重新启动蓝牙,否则步骤 1 中使用的 UUID 服务会继续被宣传,只有当我重新启动蓝牙时,才会显示步骤 2 中使用的 UUID。

0 投票
1 回答
1332 浏览

ios - didDiscoverPeripheral 在广告另一台 iOS 设备后未被调用

基本上我有两个应用程序,一个用于扫描蓝牙设备,另一个用于广告,我想做的是获取所有 iOS 设备的列表,在我附近的扫描 iOS 设备的应用程序上。

到目前为止,这是我的代码:

扫描.m:

广告.m:

当我在不同的 iphone 上运行不同的应用程序时,什么也没有发生!

这不会崩溃,但didDiscoverPeripheral永远不会被调用:(请帮帮我!是的,我已经阅读了文档,但仍然没有好处:((

干杯

0 投票
0 回答
50 浏览

ios8 - btle 中央和外围没有工作 ios8

我在这里使用了 Jorge Costa 和 Orlando Pereira 教程 http://code.tutsplus.com/tutorials/ios-7-sdk-core-bluetooth-practical-lesson--mobile-20741

创建一个小练习应用程序来理解蓝牙乐。该应用程序在 Xcode 5 和 ios7 下运行良好,但现在在 ios8 和 Xcode 6 下就不行了。有没有其他人遇到过这个问题,有没有人知道如何解决它的问题。