I've had the same problem since I updated to iOS 18. This does work when the central running the scan is on iOS < 18 (even if the peripheral is iOS 18).
If you want to receive callback notifications on receipt of advertisements from a backgrounded iOS peripheral on iOS 18 - it seems you have to remove the ServiceUUID filter and deal with the noise. Unhelpfully - iOS removes any manufacturer data with the Apple manufacturer code 004c - so you can't use that to check for the service. I've been caching device identifiers which I've previously seen advertising the service as a workaround - but this isn't great as these change after a while, and it requires the peripheral to have been foregrounded at some point whilst the central was scanning.
Really hoping this will be fixed - it's certainly not the behaviour described in the API documentation.
Post
Replies
Boosts
Views
Activity
I'm also seeing the exact same problem with iOS 18 in my app 'Murmur : Bluetooth Group Calls'. A filtered scan with specified ServiceUUID on an iOS 18 central (tested with iPhone 15 Pro and 12) in foreground will not detect an iOS (any version) Peripheral in background mode. This has been working on all previous versions of iOS - so is a breaking change in iOS 18.
This bug massively impacts my application.