I'm developing an iOS application that relies on peer-to-peer discovery and connection using Bluetooth.
The expected behavior is:
Two iOS devices with the application installed. Both users marked as "visible". When within Bluetooth range, the devices should discover each other and establish a connection.
However, the problem occurs when:
The application is in the background (minimized) OR The device is locked (screen off).
In these states:
The devices can no longer be detected.
The search returns no nearby devices.
Connection could not be established.
ChatGPT: What you want to do probably runs into a structural limitation of iOS — it's not a bug.
And iOS:
severely limits background BLE scanning. reduces advertising frequency. may even stop completely depending on the state (lock screen).
In other words:
👉 iPhone was not designed to function as a "continuous radar" between background apps.
Apps that do something similar (like AirDrop or Find My):
use Apple's private or privileged APIs or combine BLE + Wi-Fi + Ultra Broadband.
i need help : /