Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The app's Info.plist file should contain a NSBluetoothAlwaysUsageDescription key while the key is in the plist file

First of all, I would like to state that I already looked at Stack Overflow post here and adding either the one mentioned by either iCoder & Deepak didn't solve the problem for me.

I'm using React-Native to develop my apps including this React-Native-Permissions package I found. Their documentation states that I should add all the permission their package enables e.g. Location, Camera and all the others mentioned there. After I did this I was able to upload my application to the store and submit it for review.

Today I got to the office and I saw there was some feedback from Apple available. So after I completed the feedback I wanted to re-upload to the store again (increasing the build number as I'm supposed to do).

And now I keep getting the message in the title mentioned above while I have it present in my info.plist like such

<key>NSBluetoothAlwaysUsageDescription</key> <string>Our app does not request this permission or utilize this functionality but it is included in our info.plist since our app utilizes the react-native-permissions library, which references this permission in its code.</string> 

EDIT:

I hope to clarify things below in order to find an answer to the problem I'm facing. The error given in the title occurs directly after uploading to the store (So I'm guessing the actual error is picked up the automatic checks done by the system).

The answer below won't help me to fix the problem since the more descriptive string wont be checked by the automatic system check. And I've successfully used this string for other elements in the info.plist. Next to this I found evidence that people successfully submit their app to the app store using this tactic. As shown by the comment of Gradner following this link React Native Permission issue 266

like image 928
MikeSli Avatar asked Sep 18 '19 12:09

MikeSli


People also ask

What is a missing info plist key?

Missing Info.plist key - This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSLocationWhenInUseUsageDescription key with a string value explaining to the user how the app uses this data.

What should the app's nslocationalwaysusagedescription key contain?

The app's Info.plist file should contain a NSLocationAlwaysUsageDescription 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.

What is the nsbluetoothperipheralusagedescription key?

A message that tells the user why the app needs access to Bluetooth. This key is required if your app uses the device’s Bluetooth interface. If your app has a deployment target earlier than iOS 13, add the NSBluetoothPeripheralUsageDescription key to your app’s Information Property List file in addition to this key.


1 Answers

If you are not using Bluetooth,

just add this to your Info.plist file:

<key>NSBluetoothAlwaysUsageDescription</key> <string>Our app does not request this permission or utilize this functionality but it is included in our info.plist since our app utilizes the react-native-permissions library, which references this permission in its code.</string> 

Apple deprecated NSBluetoothPeripheralUsageDescription property in favor of NSBluetoothAlwaysUsageDescription.

See details here: link to Apple docs

If you are using bluetooth,

just add this to your Info.plist file:

<key>NSBluetoothAlwaysUsageDescription</key> <string>Our app uses bluetooth to find, connect and transfer data between different devices</string> 
like image 157
lellefood Avatar answered Oct 26 '22 23:10

lellefood