Can the New Estimote Monitoring work in the background (iOS)?

Hi,

I’ve started using the new Estimote Monitoring for entry / exit events however unlike CLLocation’s CLBeacon monitoring, I don’t seem to get entry / exit events after a short period of the app going into the background.

Is this intentional or have I simply forgotten a fundamental privilege / settings to grant the app background access via iOS?

Just for reference incase you are not sure what Estimote Monitoring is, its new last month and can be found here:

Any advice would be greatly appreciated.
All the best,
James

Hey,

Have you enabled the bluetooth-central background capability? You can do this by:

For reference, you can also check Monitoring Notification app template in Estimote Cloud, which is already configured for background operation.

Hi Alexander,

Thank you for your reply.
This is most confusing.

Just to confirm with you, I have the following ‘Required background modes’ enabled:

  • App communicates using Core Bluetooth
  • App shares data using Core Bluetooth
  • App downloads content from the network
  • App registers for location updates
  • App downloads content in response to push notifications

I also have the following 'Required device compatibility’s’:

  • location-services
  • gps
  • bluetooth-le

I also have the following key/value:

  • Privacy - Location Always Usage Description: “…description of why…"
  • Privacy - Bluetooth Peripheral Usage Description: “……description is here…"

Now the background Estimote monitoring works for about 2-3 minutes after the app has been suspended (into the background). However after this, the app doesn’t respond to entry/exit events.

If I kill the app entirely, it also doesn’t respond.

I’ve downloaded the example project from the Estimote Cloud and matched the settings too, with no luck.
Therefore just to confirm, can you guys perform background monitoring?

Just for reference, I am using the newest Xcode, iOS 10.0.1 and an iPhone 6S+

I look forward to hearing from you.
All the best,
James

Thanks for reporting this issue. It’s related to how iOS manages background execution (and BLE handling in particular). We’ll cover it with upcoming releases of Estimote Monitoring as a part of the SDK.

For now, please consider following workaround:

  1. Turn on the iBeacon packet i.e. by using the Estimote app.

  2. Aside from ESTMonitoringManager, create an instance of ESTBeaconManager.

  3. Start a standard iBeacon monitoring, as covered in our Developer Portal. This will cause the app to be woken up using Apple’s Core Location mechanism enabling Estimote Monitoring to continue its job.