Arvydas, Indications do not work properly until at least iOS 6.1 beta 4. Try periodic reads from the client . Throughput should be about the same. Etan On 17.02.2013, at 12:16, "Arvydas Sidorenko" <asido4@gmail.com> wrote:
My previous message got truncated.
The output of the code sample I provided is always: Interrupting central: success Interrupting central: success Interrupting central: failed Interrupting central: failed Interrupting central: failed Interrupting central: failed ...
On Sun, Feb 17, 2013 at 11:09 AM, Arvydas Sidorenko <asido4@gmail.com> wrote:
This was a false issue because I had a mistake in the way I was retrieving the services on central side.
Not sure whether I should create a new thread about it, but I still can't move forward with using CBPeripheralManager. I am saving a custom service and characteristics in private variabiables and when central discovers them it calls 'setNotifyValue' for the ones which on peripheral device I have given CBCharacteristicPropertyNotify property. On peripheral side didSubscribeToCharacteristic is getting called correctly and in that delegate I start a timer which sends uint16_t type value every 5 seconds. The problem is that on central side didUpdateValueForCharacteristic never gets called. I know that central is setup correctly because I use the same application to connect to another Bluetooth 4.0 accessory, so I assume the issue in on CBPeripheralManager side. What I have noticed is that on didSubscribeToCharacteristic call the characteristic._isNotifying value is always NO. Furthermore updateValue returns me 'YES' twice and then all following calls return 'NO' and peripheralManagerIsReadyToUpdateSubscribers is never called.
I have tried all sorts of combinations of properties and attributes when creating the characteristic, but it doesn't seem to have any impact. This is an example: self.periodicNotifChar = [[CBMutableCharacteristic alloc] initWithType:[StUtils UUIDToCBUUID:CHARACTERISTIC_PERIODIC_NOTIF_UUID]
properties:CBCharacteristicPropertyNotify
value:nil
permissions:CBAttributePermissionsReadable And when issuing a notification: BOOL result = [self.peripheralManager updateValue:[@"12" dataUsingEncoding:NSUTF8StringEncoding]
forCharacteristic:self.periodicNotifChar onSubscribedCentrals:nil]; if (result) NSLog(@"Interrupting central: success"); else { NSLog(@"Interrupting central: failed"); }
The output will always be
_______________________________________________ Do not post admin requests to the list. They will be ignored. Bluetooth-dev mailing list (Bluetooth-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/bluetooth-dev/site_archiver%40lists.... This email sent to site_archiver@lists.apple.com