В приложении CoreBluetooth я хотел бы переключиться с уведомлений на индикацию, чтобы быть уверенным, что данные получены на другой стороне.
В примере кода Apple BTLE Central Peripheral Transfer я пробовал заменить CBCharacteristicPropertyNotify
на CBCharacteristicPropertyIndicate
. Это не сработало. Зарегистрировано периферийное устройство:
2013-03-24 18:50:34.412 BTLE Transfer[15346:907] self.peripheralManager powered on.
2013-03-24 18:50:38.436 BTLE Transfer[15346:907] Central subscribed to characteristic
2013-03-24 18:50:38.440 BTLE Transfer[15346:907] Sent: Here is a bunch of s
2013-03-24 18:50:38.442 BTLE Transfer[15346:907] Sent: ample text. Hold ano
2013-03-24 18:50:38.444 BTLE Transfer[15346:907] Sent: ther device close to
2013-03-24 18:50:38.446 BTLE Transfer[15346:907] Sent: see the transfer ha
2013-03-24 18:50:38.448 BTLE Transfer[15346:907] Sent: ppen.
2013-03-24 18:50:38.450 BTLE Transfer[15346:907] Sent: EOM
Центральный регистрировал:
2013-03-24 18:50:19.209 BTLE Transfer[7331:c07] Scanning started
2013-03-24 18:50:37.998 BTLE Transfer[7331:c07] Discovered iPhone at -34
2013-03-24 18:50:37.999 BTLE Transfer[7331:c07] Connecting to peripheral <CBConcretePeripheral: 0x7591840 UUID = <CFUUID 0x7590780> 6A73BF68-01C9-B751-31D5-916297EC1932, Name = "iPhone", IsConnected = NO>
2013-03-24 18:50:38.001 BTLE Transfer[7331:c07] Discovered iPhone at -34
2013-03-24 18:50:38.030 BTLE Transfer[7331:c07] Peripheral Connected
2013-03-24 18:50:38.032 BTLE Transfer[7331:c07] Scanning stopped
2013-03-24 18:50:39.069 BTLE Transfer[7331:c07] Notification began on <CBConcreteCharacteristic: 0x75868a0>
2013-03-24 18:50:39.071 BTLE Transfer[7331:c07] Received: Here is a bunch of s
Так что центральный получил только первое сообщение, и больше ничего. Кто-нибудь из вас знает, что я сделал не так, и как заставить индикаторы работать?