I have a follow-up question: I've implemented both background BLE central and peripheral, however I'd like the iPhone to be discoverable by non-IOS devices (Android). In the foreground, this is quite easy as I can filter for service UUIDs and read service data readily, however Apple's official documentation states that in the background:
All service UUIDs contained in the value of the CBAdvertisementDataServiceUUIDsKey advertisement key are placed in a special “overflow” area; they can be discovered only by an iOS device that is explicitly scanning for them.
So is it impossible for my Android device to discover my IOS device's BLE advertisement if the IOS device is backgrounded? If not, how would I achieve this desired functionality?