Ошибка домена = CBATTErrorDomain Code = 2 «Чтение запрещено».UserInfo = {NSLocalizedDescription = Чтение запрещено.} - PullRequest
1 голос
/ 26 апреля 2019

Я занимаюсь разработкой приложения для управления устройством BLE.Я пытаюсь записать данные в методе didDiscoverCharacteristicsFor, как показано ниже.

func peripheral(_ peripheral: CBPeripheral, didDiscoverCharacteristicsFor service: CBService, error: Error?) {
        if let characteristics = service.characteristics {
                    for characteristic in characteristics {
                        if characteristic.uuid == CBUUID(string: Common.PinUUID) {
            var varInt = 0
            let data = Data.init(bytes: &varInt, count: 1);
            peripheral.writeValue(data, for: characteristic, type: .withResponse)
                        }
        }
    }

Когда я пытаюсь записать данные в характеристику, появляется ошибка, как показано ниже.

<CBCharacteristic: 0x283b213e0, UUID = 47E9EE30-47E9-11E4-8939-164230D1DF67, properties = 0x8, value = (null), notifying = NO> - Optional("Writing is not permitted.")

Моя характеристикаПишите только тип.Я не знаю, почему это показывает ошибку, как это.

Также, когда я пытаюсь прочитать данные, я звоню, как показано ниже.

  if characteristic.uuid == CBUUID(string: Common.TemperatureDataUUID) {
            print(characteristic)
            peripheral.readValue(for: characteristic)
   }

Я получил ошибку, как показано ниже,

<CBCharacteristic: 0x283e77300, UUID = 47E9EE2B-47E9-11E4-8939-164230D1DF67, properties = 0xA, value = (null), notifying = NO> - Optional("Reading is not permitted.")

Как решить, не найдя решения?Пожалуйста, помогите.

1 Ответ

0 голосов
/ 26 апреля 2019

Ну очевидно, что права доступа, которые установлены на периферийной стороне, не позволяют читать и писать.Вероятно, в вашем коде iOS нет ничего плохого.

Пожалуйста, еще раз проверьте периферийную базу данных GATT, чтобы убедиться, что она определена правильно.

...