0
Я использую Core Bluetooth для подключения двух устройств ios. Все работает идеально для ios 7, но для ios 8 нет. Устройство с ios 8 не отображается как периферийное устройство.Core bluetooth ios 8
Некоторый код:
_peripheralManager = [[CBPeripheralManager alloc] initWithDelegate:self queue:nil];
[_peripheralManager startAdvertising:@{CBAdvertisementDataServiceUUIDsKey: @[[CBUUID UUIDWithString:TRANSFER_SERVICE_UUID]]}];
- (void) peripheral:(CBPeripheral *)peripheral didDiscoverServices:(NSError *)error{
if (error) {
[self cleanup];
return;
}
for (CBService *service in peripheral.services) {
[peripheral discoverCharacteristics:@[[CBUUID UUIDWithString:TRANSFER_CHARACTERISTIC_UUID]] forService:service];
}
}
- (void) peripheral:(CBPeripheral *)peripheral didDiscoverCharacteristicsForService:(CBService *)service error:(NSError *)error{
if(error){
[self cleanup];
return;
}
for (CBCharacteristic *charactristic in service.characteristics) {
if ([charactristic.UUID isEqual:[CBUUID UUIDWithString:TRANSFER_CHARACTERISTIC_UUID]]) {
[peripheral setNotifyValue:YES forCharacteristic:charactristic];
}
}
}
- (void) peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error{
if (error) {
return;
}
NSString *stringFromData = [[NSString alloc] initWithData:characteristic.value encoding:NSUTF8StringEncoding];
[peripheral setNotifyValue:NO forCharacteristic:characteristic];
[_centralManager cancelPeripheralConnection:peripheral];
[_data appendData:characteristic.value];
NSDictionary *recievedData = [NSDictionary dictionaryWithObject:stringFromData forKey:@"receivedData"];
[[NSNotificationCenter defaultCenter]
postNotificationName:DATA_FROM_PERIPHERAL_RECEIVED
object:self userInfo:recievedData];
// }
}
- (void)peripheral:(CBPeripheral *)peripheral didUpdateNotificationStateForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error{
if (![characteristic.UUID isEqual:[CBUUID UUIDWithString:TRANSFER_CHARACTERISTIC_UUID]]) {
return;
}
if (characteristic.isNotifying) {
NSLog(@"Notification began on %@", characteristic);
}else{
[_centralManager cancelPeripheralConnection:peripheral];
}
}
Пожалуйста, уточните свой вопрос, что вы пытались, что вы подозреваете, и подобные части информации. – allprog
Используя LigthBlue, другое устройство найдет его? – Larme
Устройство на ios 8 не обнаружено LightBlue. Тот же случай, что и для моего приложения. – Natali