问题标签 [cbperipheralmanager]

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 回答
1283 浏览

ios - BLE:从后台 iOS 广告本地名称和服务 UUID

根据 iOS 文档,当使用 BLE 作为外围设备的 iOS 应用程序进入后台模式时,外围设备名称不会被公布,并且所有服务 UUID 都放置在一个特殊的“溢出”区域,它们只能被 iOS 设备发现,该设备是明确地扫描它们。

当应用程序在后台时,我嗅探了无线发送的 BLE 数据包。没有本地名称和服务 UUID 数据。有一个对服务 UUID 进行编码的“溢出”区域。可以在这里找到一个简短的讨论:https ://github.com/crownstone/bluenet-ios-basic-localization/blob/master/BROADCASTING_AS_BEACON.md

我想知道是否有任何方法可以从“溢出”区域的数据中确定广告的实际服务 UUID。iOS 文档指出,当一个应用程序在后台宣传为 BLE 外围设备时,另一个 iOS 应用程序可以通过明确指定要扫描的服务 UUID 来找到它。因此,必须有一种方法可以从溢出数据中找出实际的 UUID。

对此的任何指示都会有所帮助。

0 投票
1 回答
956 浏览

ios - 带委托的初始化:没有更多上下文的表达式类型不明确

感觉很愚蠢,因为不久前我有一个非常相似的问题:

init CBCentralManager:表达式类型不明确,没有更多上下文

这一次我将一个CBPeripheralManager内部实例化为viewDidLoad一个 iVar(尝试了 'lazy' 和 '!' 修饰符)。

我已经符合委托(类型和扩展),但是当我尝试分配self而不是nil委托参数时,我仍然得到同样的错误。

我如何在这里获得 self 作为一个实例,或者实际问题是什么?

0 投票
1 回答
4216 浏览

android - 如何设置/获取/请求从 android 到 iOS 或反之 BLE 的 MTU?

我们正在将 mtu 请求从 android 发送到 iOS

Android - 从此函数 onServicesDiscovered 回调请求 mtu

但我不知道如何找出对等设备支持是否请求 MTU 以及实际协商的 MTU 是什么。所需功能:BluetoothGattCallback.onMtuChanged(BluetoothGatt gatt, int mtu, int status) 仅在 API 级别 22 (Android L 5.1) 中添加。

我的问题是我不知道我可以发送多少字节的数据包。

例如:gatt.requestMtu(182)

IOS - 未触发didSubscribeTo 特征回调

我们需要根据连接的 BLE 设备设置数据包大小。如果未请求 MTU,我们会在didSubscribeTo 特性上进行回调,最小 MTU 大小为 20。如何从 android 获取和设置此 mtu 大小。

我们如何设置MTU?

0 投票
1 回答
125 浏览

ios - 当应用程序在后台时,如何在广告数据更改时获得通知?

我想在 BLE 设备发生某些事情时得到通知。如果 BLE 设备将一些数据/命令传递给应用程序,则应用程序内的广告数据不会更改。但是我们可以用 android 做同样的事情,它工作得很好。我想实现功能,比如当广告数据发生变化时我想得到通知。请帮我实现这一点。下面是我的 AppDelegate.swift 类。

0 投票
1 回答
153 浏览

ios - 有没有办法知道广告设备是安卓还是ios?

我的 iPhone 设备作为外围设备进行广告宣传,并且有一个单独的中央设备根据 uuid 读取广告数据。我认为我不能在 iOS 上同时宣传服务 uuid 和制造数据。那么中央有没有什么办法可以检测出广告设备是iPhone还是Android呢?对于 iOS 设备,制造商 ID 是 (004C) 对于我不知道的 android。

0 投票
0 回答
21 浏览

ios - 检查本地 GATT Profile 中的现有服务

我正在开发一个 iOS 应用程序作为“外围设备”,其中服务被添加到“外围设备管理器”。有没有办法在以后检查哪些服务存在?

用例:假设我即将开始做广告,并希望确保我的“CustomService”存在于本地“GATT Profile”中并且可以被“central”发现。

如何以编程方式检查?

0 投票
1 回答
661 浏览

ios - 谁能帮我解决iOS 13.5.1设备中使用CoreBluetooth进行ble传输的这个错误

==================================================== =============== 原生崩溃报告

执行本机代码时出现异常。这通常表示单声道运行时或您的应用程序使用的本机库之一中存在致命错误。

==================================================== ================

==================================================== =============== 本机堆栈跟踪:

0 投票
1 回答
246 浏览

ios - CoreBluetooth 外设响应写入请求

我在外围管理器委托中有以下代码

响应电话后

在中心侧不调用 didWrite

我需要发起多个写请求,但需要知道上一个写是否成功,然后再发送下一个写请求。

两个设备都已配对。

为什么中央经理的 didWriteValueFor() 没有被调用?