Hello,
Has anyone encountered issues with CoreBluetooth advertising and scanning between iOS 18/iPadOS 18 Beta 3 ? I'm want to know this is a bug or an intended change in behavior.
Issue Summary:
- Central device on iOS 18/iPadOS 18 Beta 3 (foreground) and Peripheral device on iOS 17.5.1 (background) fail to communicate via BLE advertising.
- The reverse setup or using non-iOS 18 devices works as expected.
Detailed Description:
I am developing an iOS/iPadOS application using CoreBluetooth for advertising and scanning. Here are the specifics of my setup:
- The application uses a fixed BLE service UUID, and scanning is performed with the specified service UUID.
- Background Modes Uses Bluetooth LE accessories and Acts as a Bluetooth LE accessory are enabled to allow advertising and scanning even when the app is in the background.
When the Central device is running iOS 18/iPadOS 18 Beta 3 and the app is in the foreground scanning, and the Peripheral device is running iOS 17.5.1 with the app in the background advertising, the Central device cannot receive the advertisements from the Peripheral device. ( CBCentralManagerDelegate.centralManager(_:didDiscover:advertisementData:rssi:)
don't work.)
- In the reverse scenario (Central on iOS 17.5.1 in the foreground scanning, and Peripheral on iOS 18/iPadOS 18 Beta 3 in the background advertising), the advertisements are received correctly.
- Additionally, advertisements are received correctly in cases where both devices are not on iOS 18/iPadOS 18.
I am wondering if anyone else has encountered this issue or if there is any information available regarding whether this is a bug or an intended behavior change in iOS 18/iPadOS 18.
Thank you.
While you might be running into issues with an edge case that coincidentally may have been occurring in your test case, during the beta cycles, it would be best to file a bug report to alert the Bluetooth team to any potential issues.
Please file a bug report, explaining the situation in detail at https://feedbackassistant.apple.com
It would also be useful to include some diagnostic logs with your bug. Please go to https://developer.apple.com/bug-reporting/profiles-and-logs/ and follow the instructions for Bluetooth for iOS to install a logging profile on your device.
Then, once the logging profile is installed:
- reproduce the problem, keeping track of the actual time of the actions you take and the result you see.
- please have your app use os_log() statements to indicate what CoreBluetooth actions it is taking
- make sure there aren’t any extraneous BLE devices around, and no other apps are trying to connect to some other BLE device while you are conducting this test.
Once the problem is reproduced, follow the instructions at the above link to trigger a sysdiagnose, and attach the sysdiagnose from the problem device to your bug report.
Argun Tekant / DTS Engineer / Core Technologies