2017-08-25 73 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) 
    } 
    }