gpt4 book ai didi

ios7 - iOS 7 BLE 无法重新连接配对设备

转载 作者:行者123 更新时间:2023-12-01 01:05:38 26 4
gpt4 key购买 nike

在 iOS 6 上,没问题,我可以重新连接配对的蓝牙设备

我用

- (void)retrievePeripherals:(NSArray *)peripheralUUIDs 

和代表
- (void)centralManager:(CBCentralManager *)central didRetrievePeripherals:(NSArray *)peripherals

返回一个外围设备数组。我遍历这个数组并成功连接每个外围设备。

在 iOS 7 上,
- (void)retrievePeripherals:(NSArray *)peripheralUUIDs 

已弃用。

好的,我对 iOS 7 使用了一种新方法:
- (NSArray *)retrievePeripheralsWithIdentifiers:(NSArray *)identifiers

此方法返回一个外围设备数组。我遍历该数组并尝试连接每个外围设备,但它不起作用。

ios 7方法返回的外围设备日志:
"<CBPeripheral: 0x176e5f50 identifier = XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX, Name = \"Name\", state = disconnected>"

如果我再次调用retrievePeripheralsWithIdentifiers,外围设备的状态变为:
"<CBPeripheral: 0x176e5f50 identifier = XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX, Name = \"Name\", state = connecting>"

但什么也没有发生

我尝试使用适用于 iOS 6 的已弃用方法,但它是相同的。无连接。

最佳答案

您需要发布您实际连接到这些外围设备的方式以便我们确定,但新的 iOS 7 方法没有问题。我假设你传入 CFUUIDRef's (就像我们为 iOS 6 所做的那样)而不是使用新的 NSUUID范围。

这是您需要做的:

NSUUID *uuid = [[NSUUID alloc]initWithUUIDString:savedUUID];//where savedUUID is the string version of the NSUUID you've saved somewhere

NSArray *peripherals = [_cbCentralManager retrievePeripheralsWithIdentifiers:@[uuid]];

for(CBPeripheral *periph in peripherals)
{
[_cbCentralManager connectPeripheral:peripheral options:nil];
}

注意:如果您卡在连接状态,请调用 cancelPeripheralConnection:在连接外围设备之前。

关于ios7 - iOS 7 BLE 无法重新连接配对设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19009441/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com