Вы можете прочитать обнаруженные UUID сервисов из рекламы, но они могут появиться в двух местах в зависимости от того, исходит ли реклама от фоновых устройств iOS (которые передают в «области переполнения»).
Попробуйте что-то вроде этого, чтобы получить список UUID служб из обоих мест:
func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber) {
var detectedServiceUuids = advertisementData[CBAdvertisementDataServiceUUIDsKey] as? [CBUUID] ?? []
if let detectedOverflowUuids = advertisementData[CBAdvertisementDataOverflowServiceUUIDsKey] as? [CBUUID] {
detectedServiceUuids.append(contentsOf: detectedOverflowUuids)
}
for detectedServiceUuid in detectedServiceUuids {
print("I detected serviceUuid: \(detectedServiceUuid)")
}
}