Я перенес свой 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
Просто интересно, есть ли у кого-нибудь представление о том, что я делаю неправильно или упускаю ...
Спасибо и хорошего дня!