Разница в значении характеристики BLE при использовании разных версий xcode после быстрой миграции с 3 на 4.2 - PullRequest
0 голосов
/ 28 июня 2019

Я перенес свой swift-код из swift 3.0 в swift 4.2, используя XCode 10.1

Я запускаю на своем устройстве IOS.

Существует разница между выполнением кода в 10.1 и 10.2.1 в том, как CoreBluetooth считывает значение характеристики обратно с устройства BLE.

    func peripheral(_ peripheral: CBPeripheral, didUpdateValueFor characteristic: CBCharacteristic, error: Error?) {

    let value = characteristic.value?.hashValue
    timer.invalidate()
    print("HEY value is \(value)")

    if value == 158{ 
     //do stuff

Это распечатывает:

HEY value is Optional(158) //this is the intended value, which appears in xcode 10.1 . 

Однако при работе на 10.2, работает с той же кодовой базой ..

HEY value is Optional(-2118798348948658621) //the value runs off 

Просто интересно, есть ли у кого-нибудь представление о том, что я делаю неправильно или упускаю ...

Спасибо и хорошего дня!

...