In most cases, the application that we code works perfectly with our BLE peripherals. Often for iPhone 5S users, the device gets funky, and whenever we look at services, the delegate method is didDiscoverServices:never called. Rebooting the device or deleting all settings (General → Reset → Reset all settings) temporarily fixes the problem.
As soon as the device detects this problem, even other applications are affected (for example, LightBlue); no peripherals can detect services until reboot.
In context, our BLE peripheral does not currently support pairing.
What causes this problem? Are there any ways to avoid instability? Once this happens, is there a way in which the application can automatically restore it?
Some problems with similar symptoms: The app does not open services when reconnecting and Do not scan for services in iPad Air
Update: only FYI, I am still working on this issue, but something we did made it happen less (therefore this is not a very priority ATM). I do not know what else caused additional stability.
source
share