Location permission string in iOS Unity application - ios

Is there anyway I can find out which plugin/sdk is using the location APIs in iOS platforms?
Basically i am trying to get my app updated on the Apple store and I get a warning saying the following
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 NSLocationAlwaysUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data.tarting 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).
I really don't feel comfortable adding a string without knowing what it does in my app

Related

Can somebody provide me solution for apple app store

I received this message from the App Store Team:
We identified one or more issues with a recent delivery for your app,
"App Name here" 1.11 (11). Please correct the following
issues, then upload again.
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 NSPhotoLibraryUsageDescription 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).
Best regards,
The App Store Team
How can I fix the described issue?
Basically NSPhotoLibraryUsageDescription this key is used by Apple to show when your app is trying to access Photo Library first time. That time Apple will ask the user whether they want your app to access Photo Library. Popup will look like.
I hope I have cleared your question.

NSLocationAlwaysUsageDescription purpose issue

We identified one or more issues with a recent delivery for your app, "my application name" 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 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. 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).
I got this message from App Store Team. It says that your delivery was successful but I forget to add purpose for the NSLocationAlwaysUsageDescription for location purpose.
if now I submit the application for review.Is there a chance that the application is rejected or it will submit successfully.
is it okay to update this change in next delivary

Invalid binary when uploading to App Store

I was using the following features before, I am not using it at the moment, so I removed it from info.plist, but I am having a problem when I upload the application. I don't want to add those features to info.plist because I don't use them anymore. What should I do?
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 NSPhotoLibraryUsageDescription 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).
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 NSCameraUsageDescription 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.
If you're seeing that warning, the App Store (by automatically looking through your compiled application) believes that you're using those features. Usually this means that code exists in your application that references these APIs. In this case, it's code that works with the camera and photo library. Even if you don't use those features any more, if the code in your compiled binary references those APIs, Apple will insist on those purposes being present in your info.plist (since they can't tell the difference between those features being present and used, or present and unused).
Your choices are:
If you don't think those features will be coming back, remove the code that uses these APIs entirely from your app. You may also want to just temporarily not include the files by removing them from your app's build target.
If this is too complex, and you're certain that these features aren't actually in use in your app any more, then fill out those parts of your info.plist with whatever messages you had previously, safe in the knowledge that no user will ever actually see them.
In summary, if you reference those APIs, even if you don't use them, you must have appropriate purpose strings in your app's info.plist.

App store Missing Purpose String in Info.plist error

I use RN 0.59.10, I have just received this error, when I have uploaded previous versions last week - I didn't get this error. I don't use location details in my app.
Any ideas why this is happening?
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 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. 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).
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 NSLocationWhenInUseUsageDescription 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).
ITMS-90809: Deprecated API Usage - Apple will stop accepting submissions of apps that use UIWebView APIs . See https://developer.apple.com/documentation/uikit/uiwebview for more information.
You need to give proper message for asking location permission. why you need location or why its required.
Here its example. you can enter this message in your info.plist and change as per your requirements.
Example Message - App would like to use your current location to display it on the app, also for directions and estimation of your travel times. It is secure and private.
For last one message regarding your UIWebView, it's says that UIWebView is deprecated and you have to stop using and used WKWebView. If you have not used in your application then check in third-party libraries or .pod files. Somewhere its used so apple has given message.

Xocde - ERROR ITMS-90683 Missing Purpose String in Info.plist File

ERROR ITMS-90683: "Missing Purpose String in Info.plist File. Your app's code references one or more APIs that access sensitive user data. The app's Info.plist file should contain a NSHealthUpdateUsageDescription 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 will be 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)."
Add “NSHealthUpdateUsageDescription” key to info.plist file to and inform your app needs to the health updates as the value.

Resources