App not Submit in AppStore using Estimote

1.3 Binary Rejected September 16, 2015
2.16 Details Your app declares support for external-accessory in the UIBackgroundModes key in your Info.plist file but does not declare

2.16 - Multitasking Apps may only use background services for their intended purposes: VoIP, audio playback, location, task completion, local notifications, etc.
2.16 Details

Your app declares support for external-accessory in the UIBackgroundModes key in your Info.plist file but does not declare any external accessory protocols supported by your app. The external accessory background mode is intended for applications that communicate with hardware accessories through the External Accessory framework.

Next Steps

If your app is meant to work with external hardware, supported protocols must be included in the UISupportedExternalAccessoryProtocols key in your app’s Info.plist file - and the hardware’s PPID # should be provided in the Review Notes field of iTunes Connect.

Additionally, your app must be authorized by MFi to use the desired hardware. If you are not yet in the MFi Program, you can enroll at MFi program.

Please either revise your Info.plist to include the UISupportedExternalAccessoryProtocols key and update your Review Notes to include the PPID # - or remove the external-accessory value from the UIBackgroundModes key.

2.16 Details

We also found your app uses the Location Background mode but does not include the required “battery use” disclaimer in your Application Description.

Please add the following disclaimer to your Application Description:

“Continued use of GPS running in the background can dramatically decrease battery life.”

Since your iTunes Connect Application State is Rejected, a new binary will be required. Make the desired metadata changes when you upload the new binary.

Disable the Background Modes. You don’t need them to use iBeacon, just the Location Services authorization from the user.

How can I disable the background modes? Is it necessary when I use your app generator? I tried to upload estimote code a lot and it never worked because Apple says there a some strange Info.plist issues…

We never require any Background Modes. If time comes when we’ll need them for some specific use case, we’ll state it loud and clear—but unless you’re 100% confident you need some Background Modes, you should never enable any, or you risk your app getting rejected during app review.

You can disable them by going to your target’s settings (click on the blue icon in the project navigator, then on the target on the “Targets” list), the “Capabilities” tab, and making sure “Background Modes” is set to “off.”

Apple says there a some strange Info.plist issues…

Hmm, what exactly are they saying? Background Modes are stored in the Info.plist file (the “Capabilities” tab is just the UI to access them in a more user-friendly manner), so if you had any enabled, that could be it.