Я пытаюсь отправить некоторые данные между устройством Android и iOS с помощью BLE, но мне нужно отправить некоторую пользовательскую информацию со стороны iOS на Android, я уже пробую почти все ключи, которые предоставляет CBCentralManager, но я пытаюсь отправить некоторую строку с ключом CBAdvertiseDataServiceDataKey, но ничего не происходит, кто-нибудь знает, как отправить информацию в этом ключе?
заранее я пытаюсь получить эту информацию без связи.
это функция, которую я использую, чтобы попытаться сделать ту часть, которую я объяснял ранее.
func peripheralManagerDidUpdateState(_ peripheral: CBPeripheralManager) {
if peripheral.state == .poweredOn{
let data = CBMutableCharacteristic(type: hardCodeUUID, properties: [.read], value: userName.data(using: .utf8), permissions: [.readable])
peripherialManager.startAdvertising([ CBAdvertisementDataLocalNameKey:"Jael2522",CBAdvertisementDataServiceDataKey:userName.data(using: .utf8),CBAdvertisementDataServiceDataKey:[CBUUID(string: "Jose")]])
let serialService = CBMutableService(type: hardCodeUUID, primary: true)
serialService.characteristics = [data]
peripherialManager.add(serialService)
}
}





CBAdvertiseDataServiceDataKey доступен только для чтения в iOS. Единственное, что вы можете напрямую рекламировать, - это локальное имя и список UUID служб (ни один из которых не гарантированно будет объявлен, хотя они будут, когда ваше приложение находится на переднем плане, если они могут поместиться в пакете).
Чтобы надежно отправлять данные между устройствами, вам нужна одна сторона, которая действительно подключается и считывает или записывает характеристики.