What is "a purpose string" and "NSBluetoothAlwaysUsageDescription key"?

Guzzz

  • *
  • Posts: 496
While I was uploading my game onto appstore to test I received this message from them: 
Quote
We identified one or more issues with a recent delivery for your app, "HeadlessD" 2.5.0 (1). Your delivery was successful, but you may wish to correct the following issues in your next delivery:

ITMS-90683: Missing Purpose String in Info.plist - Your app's code references one or more APIs that access sensitive user data. The app's Info.plist file should contain a NSBluetoothAlwaysUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. Starting Spring 2019, all apps submitted to the App Store that access user data are required to include a purpose string. If you're using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required. You can contact the developer of the library or SDK and request they release a version of their code that doesn't contain the APIs. Learn more (https://developer.apple.com/documentation/uikit/core_app/protecting_the_user_s_privacy).

After you’ve corrected the issues, you can use Xcode or Application Loader to upload a new binary to App Store Connect.
Can someone explain me what they're talking about? What is "NSBluetoothAlwaysUsageDescription key"? What is "a purpose string"?
Watch my new game http://www.hitandcrash.com based on my comic strip https://www.instagram.com/hitandcrash

HeadlessD is my dungeon-crawling game on iOs and Android. Made in Stencyl. https://www.headlessd.com/

rob1221

  • *
  • Posts: 9430
Apple wants a sentence added to the plist that explains why you're using Bluetooth, but the better solution may be to stop Bluetooth from being used in the first place.  A question someone asked me in Discord today led to a bunch of research which shows that <dependency name="CoreBluetooth.framework" /> needs to be removed from the ads extension.  If you fix that you'll likely run into another error about web views, and the solution to that is for Stencyl to update its AdMob code.  This is assuming you're using AdMob.

Guzzz

  • *
  • Posts: 496
I do use AdMob. Thanks! So, I will make a ticket then.
Watch my new game http://www.hitandcrash.com based on my comic strip https://www.instagram.com/hitandcrash

HeadlessD is my dungeon-crawling game on iOs and Android. Made in Stencyl. https://www.headlessd.com/