Apple rejection cause of background mode

Hello,

I develop iOS mobile application and I use EstimoteSDK pod 4.28.0.
When I use ESTNearableManager.startMonitoring() or ESTNearableManager.stopMonitoring(), application crash because the library wants me I set “Background Mode” iOS capability to “On”.

Problem is went I publish on Apple Store, Apple reject application cause of the capability I setted.

What is the solution ?
If set the capability to On -> Apple reject application
If set the capability to Off -> Application crash

Thanks for helping

1 Like

First, note that the nearable-scanning features in EstimoteSDK are deprecated, and no longer actively maintained/developed. It’s best to switch to our new Estimote Bluetooth Scanning library. See this other post of mine on GitHub where I outline how to use it to scan for nearables:

https://github.com/Estimote/iOS-Fleet-Management-SDK/issues/287#issuecomment-516853317

The EstimoteSDK requires the “uses Bluetooth peripherals” background mode for nearable-scanning, so that it, well, works in the background, and also to re-start the app in range of nearables if the app got killed due to memory pressure.

Enabling any background mode means extra scrutiny during the app review process, so you probably want to explain that your app uses Bluetooth accessories (that aren’t iBeacon), and what for. Apple doesn’t want app developers enabling background modes for no reason (or worse, for some nefarious reasons), but you’ve got a good one—your app is literally using Bluetooth accessories (: