Periferal selalu menyatakan terhubung dan tidak pernah terhubung setelah memutakhirkan ke IOS 11

Saya menggunakan aplikasi CoreBluetooth untuk IOS, setelah memutakhirkan versi IOS, manajer pusat tidak dapat terhubung ke periferal dan tidak menunjukkan kesalahan apa pun. Sebelum memulai proses koneksi, saya menerima nilai ini dari perangkat:

CBPeripheral: 0x1c0106e40, pengidentifikasi = BE2B06BF-F385-82AC-95E6-65EA1CF8B11F, nama = icomon, status = terputus

dan setelah saya mencoba menyambung ke perangkat, statusnya berubah:

CBPeripheral: 0x1c411bea0, pengidentifikasi = BE2B06BF-F385-82AC-95E6-65EA1CF8B11F, nama = icomon, status = menghubungkan

dan tidak lebih, tidak ada yang terjadi selanjutnya, saya tidak menerima data apa pun dari manajer pusat dan status perangkat tidak pernah berubah.


person D.Pacheco    schedule 22.09.2017    source sumber
comment
Harap edit pertanyaan Anda untuk menampilkan kode yang relevan   -  person Paulw11    schedule 23.09.2017


Jawaban (1)


Saya sedang berjuang dengan masalah yang memiliki gejala yang persis sama. Semoga masalahnya sama, dan tanggapan ini bermanfaat.

Dalam kasus saya, masalahnya disebabkan oleh PDU kontrol lapisan tautan yang dikirim perangkat saya segera setelah koneksi dibuat. Secara khusus, saya menjalankan Apache Mynewt (http://mynewt.apache.org/), dan NimBLE-nya pengontrol memulai Prosedur Pertukaran Fitur segera setelah koneksi dibuat. Karena perangkat saya adalah periferal, sedangkan perangkat iOS 11 adalah pusatnya, perangkat saya mengirimkan LL_SLAVE_FEATURE_REQ PDU.

Saya tidak tahu apakah ini karena waktunya atau PDU itu sendiri, tapi apa pun masalahnya, perangkat iOS tidak pernah mengirimkan data lapisan aplikasi apa pun setelah pertukaran fitur. Ketika saya mengubah NimBLE sehingga tidak memulai pertukaran fitur, interogasi perangkat terjadi secara normal, dan panggilan balik yang terhubung dengan CoreBluetooth dipanggil.

person Christopher Collins    schedule 17.10.2017