cbcentralmanager相关内容

DidDiscover外围设备:有时在后台不工作

发生在iOS 12&;iOS 13。 我已将Bluetooth-central正确添加到我的Info.plist 我正在指定服务UUID列表 我看到的: 如果我在前台与我们的BLE设备交互,我仍然可以在后台扫描它,即使是在几个小时和几天后,只要我不关闭蓝牙或重新启动iOS设备。 如果我在应用程序打开时从未与其交互,或者如果我重新启动设备,或关闭设备上的蓝牙,则在后台 ..
发布时间:2022-09-05 10:48:17 移动开发

没有名字和地址。CBCentralManager不再在MacOS 12上工作

自从我将MacOS更新到MacOS12之后,我在使用CoreBluetooth时就遇到了问题。 在我的一个应用程序中,我将列出使用CGCentralManager类的所有BLE设备。 这已经奏效多年了。但现在,当我启动我的应用程序时,Xcode中会出现以下输出: [CoreBluetooth] No name or address [CoreBluetooth] No name or ..

单个BLE中心能否通过蓝牙低能耗与多个BLE外围设备连接?

我在我的iOS应用程序项目中使用核心蓝牙框架。我有以下关于蓝牙低能耗的问题- 在iOS中,单个中心是否可以连接多个外围设备? 多个中央设备可以与单个外围设备连接吗? 单个IOS设备可以同时充当中央设备和外围设备吗? 如果是,那么如果两个这样的设备都尝试作为彼此的中心连接,将会发生什么情况? 当应用程序在后台时,我们是否可以通过BLE进行通信? 推荐答案 在iOS中,单个中 ..

BLE后台重连

我想在设备被用户或系统移出/终止/在后台模式下重新启动后重新连接到 BLE 设备. 我知道这是可能的:-查看这个问题的描述 问题 - 如果应用程序被终止,我如何设置 centralManager 以在后台模式下自动重新连接到外围设备?有人可以逐步描述如何完成吗? 关于当前实现的几句话: 我使用以下选项创建 centralManager: self.centralManag ..

为什么CBCentralmanager发现的所有设备的名称都为null?

我正在尝试检测macOS上已连接的BT设备的电池电量。虽然我可以让CBCentralManager检测附近的一些设备,但它检测到的所有设备都为name = Null,即使应该检测到很多设备并且它们都应具有名称(例如,AirPods,魔术触控板,魔术键盘等)。 我的BT Manager类是: 导入可可 导入CoreBluetooth 类BluetoothManager:NSObje ..
发布时间:2020-06-07 19:26:33 移动开发

在Swift应用程序中关闭蓝牙时如何显示警报?

这个问题可以重复,但是我尝试了很多代码,但是没有用。我已经读过 CBCentralManagerOptionShowPowerAlertKey 选项,并可能显示警报以将iPhone的设置蓝牙选项打开以打开应用程序,但我没有得到这个效果。 如果我设置了密钥为true时密钥不出现,并且当我将值更改为false时密钥不起作用... 我在我的Swift应用程序中使用以下代码: ..

iOS CoreBluetooth-外设连接到范围内的Central

我有一个与Objective-C一起运行的基本BLE应用程序。我正在使用PeripheralManager,并将我的iPhone8作为具有功能的外设运行,添加了特性。 我想做的是连接到我通过设备ID知道的中央设备或它何时在范围内。 我已经编写了一个适用于Android的BLE应用,现在可以做到这一点。我要做的就是在连接onConnectionStateChange()时触发device ..
发布时间:2020-06-07 19:26:26 移动开发

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

当前,iOS不支持GAP中央角色和ATT服务器角色以及GAP外围设备角色和ATT客户端角色的组合。 Apple正在努力吗?这个?有人知道何时有可能这样做吗? 解决方案 如果您开发的是非iOS外设,那么您应该能够在iOS中心连接到您之后开始充当ATT客户端。 ATT数据库是跨应用程序共享的,应该可以通过这种方式访问​​。您可以使用CPBeripheralManager在单独的应用程序中 ..

您如何两次扫描同一BLE设备?

我有一个iOS应用程序,可以扫描BLE外设,其中可能有很多,并且允许用户决定是否连接到设备。连接后,用户还可以决定断开连接。所有这些都可以正常工作。 我还想添加一个选项,以允许用户改变主意并重新扫描设备,但这似乎是有问题的。最明显的方法似乎是停止扫描并重新启动它,如下所示: [centralManager stopScan]; CBUUID * myServiceUUID = ..

Objective-C蓝牙表示已连接,但CBCentralManager未发现它

在我的应用中,我首先使用委托方法 retrieveConnectedPeripheralsWithServices 搜索以前连接的设备,然后如果找不到任何内容,则扫描附近的设备。这是代码 -(void)searchForPeripherals { NSLog(@“ ***扫描蓝牙外围设备。 .. ***“); //检查是否已连接任何设备 if(self.ourPeripheral ..
发布时间:2020-06-07 19:26:16 移动开发

CoreBluetooth状态保存:还原CBCentralManager的正确方法

当由于状态保存事件而使应用程序吃完午餐时,从AppDelegate恢复CBCentralManager的正确方法是什么? -(BOOL)应用程序:(UIApplication *)应用程序didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //系统仅为具有活动或未决外围设备连接或正在扫描外围设备的中央管理器提供恢复标识 ..
发布时间:2020-06-07 19:26:13 移动开发

BLE以编程方式发送密码

当我将设备连接到外围设备时,他会问我一个密钥(设备上显示一个弹出窗口)。我想在连接期间以编程方式发送此密码。 我正在使用CBCentralManager,但找不到发送方法。 有什么建议吗? 解决方案 您不能这样做。这是安全模型的一部分。如果您的BLE外设指定访问其特征之一需要加密,则需要配对。密码是由iOS而非您的应用程序收集的,并且您的应用程序无权访问密码或配对/绑定过程 ..
发布时间:2020-06-07 19:26:09 移动开发

如何从具有相同服务UUID的两个设备中查找特定的BLE 4.0外设

对于BLE 4.0,它提供了API以发现具有服务UUID阵列的外围设备。 我只想找到特定的设备。如何实现这一目标? 如果需要将标识符分配给特定设备,该怎么做? (我认为我的问题需要iOS核心蓝牙的某些上下文。) 解决方案 重新连接到已知外围设备的过程在。 基本上,如果您知道要重新连接的设备的UUID(即标识符 CBPeripheral 对象的code>属性),则可以 ..

如何使用iPhone应用程序将RGB信号发送到BLE设备?

我们正在开发iOS应用程序,需要将RGB信号传递给BLE设备,并且基于RGB代码,设备LED会发光。我们正在使用 CBCentralManager 来连接iOS应用程序中蓝牙框架的 CBPeripheral 对象。 我们正在设置特征和描述符UUID,但仍然无法在BLE设备上发送信号。这是我们用于以十六进制字节格式传递RGB数据的代码。 -(void)centralManager:(CB ..

广告另一个iOS设备后未调用didDiscoverPeripheral

基本上,我有两个应用程序,一个用于扫描蓝牙设备,另一个用于广告,而我试图做的是获取所有iOS设备的列表,该列表在我附近的应用程序中扫描iOS设备。 这是我到目前为止的代码: Scanning.m: //扫描所有可用的CoreBluetooth LE设备 NSDictionary * scanOptions = @ {CBCentralManagerScanOptionAllo ..
发布时间:2020-06-07 19:25:57 移动开发

CBPeripheral.ancs授权信息不可靠

我们的应用程序可与使用ANCS的配对蓝牙外围设备一起使用,这就是为什么我要尽早研究全新的隐私设置“共享系统通知”以使我们的应用程序可用于iOS13的原因... 但是有一个问题,CBPeripheral属性 ancsAuthorized(Bool)是不可靠,因此不可能知道用户是否授予了授权。这有两种方式不可靠: 连接到外围设备后,询问 peripheral.ancsAuthorized 首 ..
发布时间:2020-06-07 19:25:53 移动开发