Requesting guidance on long-running background BLE control triggered by server-side events

Hello Apple Forums,

We are developing an iOS application that connects to a custom BLE accessory and sends control commands to it.

Our system architecture is as follows:

  • A separate hardware device collects data and sends it to our backend server via Wi-Fi.
  • The backend evaluates state changes and determines when the BLE accessory should update its display.
  • The iOS app acts purely as a BLE command executor for this accessory.

Our goal is to:

  1. Maintain a BLE connection with the accessory while the app is in the background.
  2. Receive state-change events from our backend server.
  3. Upon receiving such events, send a BLE command to the accessory to update its state.

We understand that iOS does not allow arbitrary background execution. We would like to confirm whether there is any supported mechanism, entitlement, or program that allows:

  • Long-running background execution for BLE control, or
  • Server-originated events (other than APNs) to trigger background BLE actions.

If this is not supported, we would appreciate confirmation that APNs (silent push) is the only supported way to trigger such background BLE actions, or guidance on any recommended alternative architectures.

Thank you for your guidance.

Requesting guidance on long-running background BLE control triggered by server-side events
 
 
Q