iOS 11 random disconnection with external bluetooth device - ios

I use CoreBluetooth framework to connect external bluetooth device, in all iOS don't have random disconnection, but on iOS 11 it disconnect.
Maybe some one has any idea what's wrong with ios 11 and corebluetooth, CBCentralManager?

My app worked disconnected every 5 minutes on iOS 11.0.x,(I'm sorry for the correct version), But in iOS 10 or eralier version is OK. So I try to change the peripheral deviece, change a Android phone to test, both of them are running OK.
Then I update the version to iOS 11.1.1, And the BUG looks like to be FIXed.

Your bluetooth device is disconnected when your iphone/ipad goes to sleep. This is due to iOS 11 is requiring all application to add background mode to their info.plist. Look at screenshot provided below, add it to your app's info.plist and that will resolve your iOS 11 randomly disconnect issue when device goes to sleep.

Related

BLE Connection not pairing

I have an iOS app that works on iOS 14 on all of my test devices, iPhone XR, iPhone 11 Max, iPhone 7. The app connects to a BLE device, the app reads and sends settings over Bluetooth to modify the devices behavior.
I just got a new phone (iPhone 13 Pro) and I was doing some final testing before release. So this is the first time this app is running on this phone. I never get the dialog to pop up that asks to pair the device when I connect to it. I thought this was strange. So I went back to my iPhone XR and "forgot" the BLE device. I delete the app and re-run. It sees the device, I hit connect in the app and it asks me if I would like to pair.
Obviously this is some weird exception I am not handling quite right. Does anyone have a thought? Looking around here on Stackoverflow and google and I don't see that anyone else has run into this.
This is an objective-c app, using CoreBluetooth.

External Accessory bluetooth issue in IOS11

I have App which uses external accessory platform to connect to iPod App.
Before iOS11 bluetooth was working very much fine with automatically reconnecting when ever my app restart. I don't have to go to setting all the time.
from iOS11, in setting it shows device is connected whenever i restart my App but it does not actually connect to it i had to disconnect or to forget device and fresh connection.
I notice that this is true for Bluetooth devices on iOS11.
is it a BUG in iOS11? or some keys i need to add to the .plist?
Thanks
It seems to be a bug on iOS side.
I am following this Apple developer forum thread for a while https://forums.developer.apple.com/thread/79395.
Someone found that the iOS 11.2 beta solved the problem. I am currently trying on my side with my external accessory.

iOS10 didDiscoverPeripheral misses

I have two iPhones side by side running same version of my app. One iPhone is updated to iOS 10, the other is iOS 9.2. I have a Bluetooth LE device transmitting non-connectable broadcast advertisements. The iOS 10 iPhone fails to detect ~30% of the adverts (failure to invoke didDiscoverPeripheral).
For several versions of iOS, have had no problem. Has iOS 10 Core Bluetooth broken something?
Thx, Dave
The issue can be resolved by powering cycling the phone, or resetting network connections.

After Bluetooth OTA update, I can re-pair on iOS 9.2 phones but it won't work on iOS 9.3 phones

I have an app that uses BLE to connect to a wearable device. I can update the firmware of the device via OTA. After the OTA process I can get re-paired to the wearable by calling connectPeripheral on the Central Manager. This works fine on iOS 9.2.
However, I have tested the same app on a phone with iOS 9.3 and doing the same thing causes problems. Instead of receiving one pairing request I get a lot of them. If I press pair or cancel, a new pairing request pop-up shows up. Eventually the pop-ups stop but the device isn't even paired to the app after.
Was there a change in iOS 9.3 that could be causing this? Anyone seen this behavior?
The bluetooth chip in the wearable device is a Bluegiga BLE113.

Bluetooth Low Energy app failed to write characteristics on iOS 7

I have a Bluetooth Low Energy (BLE) app that communicates with a BLE device through open connection. I am using CoreBluetooth library. After I upgraded my iPhone to iOS 7 and XCode to XCode 5. I recompiled my Bluetooth Low Energy app and found it no longer working. The connection is successful. The services and characteristics are discovered with no problems. Even the reading of the characteristics seems fine. But writing to a characteristic which should trigger some action on the BLE device has not any effect.
If I use XCode to download the same app to another iPhone with iOS 6, everything works fine. So I can determine the problem may be something with iOS 7 instead of XCode 5’s recompiling. It’s also possible XCode 5 prepares a different app for iOS 6 device even from a same project because I can see the app’s appearances are different on two devices.
So what’s changed from iOS 6 to iOS 7 that makes writing to characteristics failed?
I ran into the same problem, the issue is with the the firmware not your iOS Code. iOS6 was more relaxed with the characteristics types, but iOS7 is more stringent.
The WriteWithoutResponse flag for the Characteristic has to set explicitly to work with iOS7
I had used RedBear's Biscuit for Arduino at my startup to test our product, which worked wonderfully with iOS6 but when the app migrated to iOS7, the writes would fail quietly.
More detailed discussion is here (see update from Mattj949) # https://redbearlab.zendesk.com/entries/25031402-BLE-Mini-and-iOS-7
There are some Apple Threads on this issue, http://lists.apple.com/archives/bluetooth-dev/2013/Aug/msg00046.html and http://lists.apple.com/archives/bluetooth-dev/2013/Aug/msg00050.html

Resources