gpt4 book ai didi

ios - Core Bluetooth - 外围不能被中央写入

转载 作者:可可西里 更新时间:2023-11-01 03:21:20 26 4
gpt4 key购买 nike

我有两个应用程序,一个作为外围设备(在运行 iOS 7 的 iPad 4th Gen 上),一个作为中心应用程序(在运行 iOS7 的 iPhone 5c 上)。

我希望在外围设备中有一个可写的特性,中央向其写入少量字节(大约 4 个字节,但可能因执行而异)。

我正在配置外设如下:

-(void)startPeripheral
{
CBMutableService *service = [[CBMutableService alloc]initWithType:[CBUUID UUIDWithString:kMyServiceUUID] primary:YES];
CBMutableCharacteristic *ch = [[CBMutableCharacteristic alloc]initWithType:[CBUUID UUIDWithString:kMyWriteUUID] properties:CBCharacteristicPropertyWrite value:nil permissions:CBAttributePermissionsWriteable];
service.characteristics = @[ch];

NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:@[[CBUUID UUIDWithString:kMyServiceUUID]], CBAdvertisementDataServiceUUIDsKey, @"My Peripheral", CBAdvertisementDataLocalNameKey, nil];

[self.peripheralManager addService:service];
[self.peripheralManager startAdvertising:dict];

NSLog(@"Service = %@",service);
}

一开始这一切似乎都有效,外设为服务做广告,我的中央可以扫描、查找、发现服务和特征,并找到它感兴趣的特征。当我尝试写入特征时,问题就来了。

在中央我有以下方法:

-(void)peripheral:(CBPeripheral *)peripheral didDiscoverCharacteristicsForService:(CBService *)service error:(NSError *)error
{
NSLog(@"Service/Characteristics = %@",service.characteristics);
for(CBCharacteristic *ch in service.characteristics)
{
NSLog(@"Characteristic properties = %x",ch.properties);
NSLog(@"Characterisctic = %@",ch.UUID);
if([ch.UUID isEqual:[CBUUID UUIDWithString:kMyWriteUUID]])
{
// We've found our write characteristic
NSLog(@"Writing data to characteristic %@",ch.UUID);
NSData *data = [NSData dataWithBytes:(Byte[]){1,2,3,4} length:4];
[peripheral writeValue:data forCharacteristic:ch type:CBCharacteristicWriteWithResponse];
}
}
}

我收到一个 didWriteValueForCharacteristic 回调,指示错误:

Error Domain=CBATTErrorDomain Code=14 “不太可能的错误。”

这不是很有帮助。

任何人都可以发现问题或提出任何解决方案吗?

谢谢,里奇

最佳答案

我不清楚错误是什么,但是:

  1. 您应该仅在收到 peripheralManager:didAddService:error: 回调后才开始广告。
  2. 能否附上相应的设备控制台日志? (使用管理器->电话->控制台)

关于ios - Core Bluetooth - 外围不能被中央写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19874468/

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