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.
Topic:
App & System Services
SubTopic:
Core OS
Tags: