2017-08-25 74 views
0

我正在使用ble在tizen和ios之间制作BLE trnasport。我可以发送和接收数据,但我想添加一些逻辑。 IOS功能,当ios接收数据时调用didreceivewriterequests()回调,并且我想将接收到的数据存储到具有uuid的列表中。 Tizen已经有了这个逻辑。但我不知道如何获得uuid来识别包含数据的uuid。我想用uuid的列表获取其他函数的数据。
如何在didreceivewriterequests()回调中获得uuid? 谢谢。在didreceivewriterequests中获取uuid ios

  • 正如我所看到的,CBATTRequest.characteristic.UUID已弃用。

回答

1

characteristic.uuid未被弃用。您需要从请求数组中的每个请求访问它。从那里你可以检索特征的UUID

func peripheralManager(_ peripheral: CBPeripheralManager, didReceiveWrite requests: [CBATTRequest]) { 
    for request in requests { 
     let id = request.characteristic.uuid 
     print("ID is \(id.uuidString)") 
    } 
} 
+0

我指的是https://stackoverflow.com/questions/27193041/central-writing-characteristic-to-peripheral-ios-core-bluetooth之前,我怀疑。但是我也看到了https://developer.apple.com/library/content/releasenotes/General/iOS80APIDiffs/frameworks/CoreBluetooth.html。它显示'已删除CBCharacteristic.UUID'和https://stackoverflow.com/questions/26169472/ios-bluetooth-cbcharacteristic-uuid-deprecated了。 – Lightstar

+0

如果您将我的代码复制并粘贴到您的项目中并运行该代码,会发生什么情况? –

+1

'UUID'已从'CBCharacteristic'中移除,因为它已移至超类'CBAttribute';所以它仍然可用,因为它不会在该类上被弃用 - https://developer.apple.com/documentation/corebluetooth/cbattribute – Paulw11

0

斯威夫特3

func peripheralManager(_ peripheral: CBPeripheralManager, didReceiveWrite requests: [CBATTRequest]) { 

    for writeRequest in requests { 

     print(characteristic.uuid.uuidString) 
    } 
    }