I'm creating a custom beacon, similar to iBeacon, but with a custom data format. It advertises only once every 8 seconds, but the iPhone app doesn't receive advertisements when the app is in the background. In order to get around this, I've added a service to the advertisement data (BLE_UUID_DEVICE_INFORMATION_SERVICE) but now the device won't advertise at all. When I remove the service UUID from the advertisement data, then the device will advertise again. Am I violating some sort of spec? I can't tell what's going on inside the soft device, why won't it advertise?