J'ai besoin d'éditer les données de publicité de périphérique Bluetooth à partir du gestionnaire central.Comment modifier les données de publicité?
j'ai essayé beaucoup ..
Le code suivant fournit les détails:
1.après la connexion périphérique:
- (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 Services:
- (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.Découverte des caractéristiques du service:
- (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 État de notification:
- (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 Valeur Write dans périphérique:
- (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);
}
Je suis nouveau à IOS.Helps sont appréciés
grâce à l'avance ..
Que voulez-vous faire aux données de publicité? Aucun des codes que vous avez indiqués ne semble pertinent à votre question. En outre, le périphérique annonce alors comment le changeriez-vous? – Paulw11
Je suppose que vous voulez modifier la publicité du centre vers le périphérique, c'est-à-dire que les données de publicité seront modifiées la prochaine fois. C'est donc un service ou un personnage simple comme les autres profils. Maintenant, quelle est votre question? avez-vous transféré les données sur l'appareil? votre appareil a-t-il mis à jour les données? –
Je veux mettre à jour les données de publicité de mon périphérique central .. Aussi, j'ai besoin de stocker de la valeur dans un périphérique. –