Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ITMS-90683: Missing Purpose String in Info.plist #369

Closed
tamsel12 opened this issue Sep 19, 2019 · 5 comments
Closed

ITMS-90683: Missing Purpose String in Info.plist #369

tamsel12 opened this issue Sep 19, 2019 · 5 comments
Labels
bug Something isn't working properly ios relates to iOS platform

Comments

@tamsel12
Copy link

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.

Getting this error while uploading IOS app to appstore. anybody has solution for this ?

Thanks in Advance !

@samih-dev
Copy link

Hi,

facing the same issue which blocks uploading new versions to App Store.

Another StackOverflow thread on the same issue:
https://stackoverflow.com/questions/58009162/ios-app-store-nsbluetoothalwaysusagedescription-rejection

unfortunately, I have no experience dealing with Cordova plugins code, so waiting for someone help,

The solution may be similar to how cordova-plugin-googlemaps expose variables to set when installing:
https://github.com/mapsplugin/cordova-plugin-googlemaps#install-optional-variables

Thanks,

@kamilbrk
Copy link

You can temporarily fix the issue by yourself by adding the following to your config.xml file:

        <config-file parent="NSBluetoothAlwaysUsageDescription" platform="ios" target="*-Info.plist">
            <string>Bluetooth permission is required because of X, Y and Z</string>
        </config-file>

On supported Cordova versions, that is. Look up config-file, edit-config etc for more information.

This will add an additional line into your plist file upon build, a line that's currently not provided out of the box by the plugin.

If you do not use Bluetooth module of this plugin at all, you can also remove that module altogether, see readme file for instructions. If you've never selected specific modules to install, simply add

    <preference name="cordova.plugins.diagnostic.modules" value="LOCATION WIFI CAMERA NOTIFICATIONS MICROPHONE CONTACTS CALENDAR REMINDERS MOTION NFC EXTERNAL_STORAGE" />

to your config.xml file. This will ignore the Bluetooth module whilst still adding everything else, so the change will be minimal from the default installation behaviour. Again, see documentation. When that's done, remove and add the plugin again. In case you are using any build process/scripts, make sure to clear node_modules as well. I've had to rm -rf node_modules platforms plugins and then npm i which triggers cordova prepare via postinstall script. Your setup may vary, but essentially after clearing things up you should end up with the following:

Screenshot 2019-09-27 at 09 48 23

@samih-dev
Copy link

thanks @kamilbrk

I was able to submit to the App Store without issues passing Apple Initial tests. waiting for final approval from Apple.

@dpa99c dpa99c added bug Something isn't working properly ios relates to iOS platform labels Sep 30, 2019
@dpa99c dpa99c closed this as completed in 6e536f4 Sep 30, 2019
@dpa99c
Copy link
Owner

dpa99c commented Sep 30, 2019

This has been fixed in v5.0.1

@stegithub
Copy link

i've the same issue with v5.0.1.
have i to implement @kamilbrk workaround?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working properly ios relates to iOS platform
Projects
None yet
Development

No branches or pull requests

5 participants