Мне нужно отредактировать рекламные данные периферийного устройства bluetooth от центрального менеджера.Как отредактировать рекламные данные?
я пробовал много ..
Следующий код деталь:
1.After периферической связи:
- (void)centralManager:(CBCentralManager *)central didConnectPeripheral:(CBPeripheral *)peripheral {
NSLog(@"Connection successfull to peripheral: %@",peripheral);
peripheral.delegate = self;
[peripheral discoverServices:nil];
//Do somenthing after successfull connection.
}
2.Discovering Услуга:
- (void)peripheral:(CBPeripheral *)peripheral didDiscoverServices:(NSError *)error {
for (CBService *service in peripheral.services) {
NSLog(@"Discovering characteristics for service %@", service);
[peripheral discoverCharacteristics:nil forService:service];
}
}
3.Открытие характеристик от обслуживания:
- (void)peripheral:(CBPeripheral *)peripheral didDiscoverCharacteristicsForService:(CBService *)service error:(NSError *)error {
for (CBCharacteristic *characteristic in service.characteristics) {
if ([characteristic.UUID isEqual:[CBUUID UUIDWithString:@"B0702880-A295-A8AB-F734-031A98A512DE"]]) {
[peripheral readValueForCharacteristic:characteristic];
NSLog(@"Reading value for characteristic %@", characteristic);
[peripheral setNotifyValue:YES forCharacteristic:characteristic];
}
}
}
Государственный 4.Updating Извещение:
- (void)peripheral:(CBPeripheral *)peripheral didUpdateNotificationStateForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error {
NSLog(@"characteristic.properties--------------------->%lu",(unsigned long)characteristic.properties);
if (error) {
NSLog(@"Error changing notification state: %@",[error localizedDescription]);
}
// Notification has started
if (characteristic.isNotifying) {
NSLog(@"Notification began on %@", characteristic);
}
NSString* decodeString = @"teststring";
NSData *encodeData = [decodeString dataUsingEncoding:NSUTF8StringEncoding];
NSLog(@"to write----- %@",encodeData);
if ((characteristic.properties & CBCharacteristicPropertyWrite) ||
(characteristic.properties & CBCharacteristicPropertyWriteWithoutResponse))
{
[peripheral writeValue:encodeData forCharacteristic:characteristic type:CBCharacteristicWriteWithResponse];
}
else
{
NSLog(@"Not permit to write");
}
}
5.Update Написать значение Peripheral:
- (void)peripheral:(CBPeripheral *)peripheral didWriteValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error {
if (error) {
NSLog(@"Error writing characteristic value: %@",[error localizedDescription]);
}
NSData *data = characteristic.value;
NSLog(@"FinalData:%@",data);
}
Я новичок в IOS.Helps ценится
заранее спасибо ..
Что хотите сделать с рекламными данными? Ни один из кода, который вы показали, не имеет отношения к вашему вопросу. Кроме того, периферийное устройство рекламирует так, как бы вы изменили его из центральной? – Paulw11
Я предполагаю, что вы хотите изменить рекламу с центрального на периферийное, то есть в следующий раз данные рекламы будут изменены. так что это простой сервис или характер, как и другие профили. теперь в чем ваш вопрос? Вы передали данные на устройство? ваше устройство обновило данные? –
Я хочу обновить данные рекламы с моего центрального устройства. Также мне нужно сохранить некоторую ценность в периферийном устройстве. –