Core Bluetooth loses track of peripherals
| Originator: | me | ||
| Number: | rdar://16333175 | Date Originated: | 14-Mar-2014 05:20 PM |
| Status: | Open | Resolved: | |
| Product: | iOS | Product Version: | iOS 7.1 |
| Classification: | Serious Bug | Reproducible: | Sometimes |
On iOS 7.1, we have started seeing erroneous behavior of Core Bluetooth. We will scan for a service, find an appropriate peripheral (and successfully connect to it), remember its identifier, and save it. A few moments later another part of the app will attempt to retrieve the peripheral by the identifier, and CBCentralManager will provide an empty array (claiming there is no peripheral known by that identifier). Our code will then go back to scanning, and the process repeats. When Core Bluetooth is in this state, the Bluetooth pane in Settings will show a bonded peripheral (Bluetooth LE) as “Accessory”, seemingly like it also became disassociated. Cycling Bluetooth power will restore the normal behavior of Core Bluetooth and the peripheral name in Settings will return, but this state can come back in several hours. (See attached screenshots.) We have observed this behavior both on peripherals that were bonded on when the device was running iOS 7.0.4 and then updated to 7.1, as well as when the bond was established directly on 7.1. We have tried “Reset Network Settings”, but the problem still returns.
Comments
Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!