3

I recently had an app rejected by the store for the following reason:

Our 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 apps that communicate with hardware accessories through the External Accessory framework.

I have read through some answers of previous people who asked this question but I am unsure on my case. My app communicates with a HM10 Bluetooth Low Energy module by sending and receiving bytes.

In my info.plist I stated that the app uses CoreBluetooth and communicates with an accessory. Which part do I need to change to fix apples concern?

Also, do I need to become part of the MFI program to use this HM10 Bluetooth module? Thanks.

Here is is my info.plist, thanks!

enter image description here

Also - the background modes:

enter image description here

Sam Protsenko
  • 14,045
  • 4
  • 59
  • 75
jackabe
  • 345
  • 9
  • 23
  • 1
    I don't think connecting to a BLE device requires you to declare support for external accessory. If you declare support for external accessory you need to include "Supported external accessory protocols" in the plist as well, after which you have to supply the PPID of the device (given by the manufacturer) in the review notes before sending the app for review. – koropok Aug 18 '17 at 08:06
  • Yeah I'm not really sure. Anyway I have removed all the ticks in background modes except uses Bluetooth LE accessory. We will see what happens. – jackabe Aug 18 '17 at 08:11
  • @jackabe any luck? – Bob Feb 21 '18 at 18:31
  • 1
    Yes that fixed the issue. I just unticked everything and hoped for the best. Typical apple not making anything simple. – jackabe Feb 22 '18 at 19:06

1 Answers1

5
  1. Don't add "External accessory communication", only select the 2 BG modes for Bluetooth.
  2. No need to join MFi program.

Then you'll be fine.

mylittleswift
  • 320
  • 2
  • 8