Unable to find apple GPS's Privacy - Location Always Usage Description - ios

I am currently working with Swift and I'm trying to get a GPS app working for a project I'm working on. I understand that in order to get the user's location, I need there permission through Privacy - Location Always Usage Description.
However, I don't know why but I cant find it, only Privacy - Location Usage Description. Can you help me or explain why?

You can do this in Xcode 8 by following these steps:
Select your .proj file in project explorer
Select a target
Click on the "Info" tab to find your info.plist file
Use the "+" button to add a new key-value pair in this file
Type in "Privacy -" to get the different options available and choose the one that you need (location usage in your case).
Make sure you enter valid reason as a
string value for this new key.
Hope this helps.

Related

iTunes connect : NSMicrophoneUsageDescription key missing but no microphone usage

I tried to upload my app on iTunes Connect, but the following error appeared :
Missing Info.plist key - This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSMicrophoneUsageDescription key with a string value explaining to the user how the app uses this data.
It worked until now. I didn't add new library.
My research conclude on modules which are :
- Take photo (no videos), but no update from 2 years
- AVAudioSession library, but no update from 3 years, and doesn't use the requestRecordPermission
And I don't use Instabug or iMessage.
I don't need microphone on my app, how I can tell I really don't use it ?
Or how I can find the library which requires the NSMicrophoneUsageDescription key ?
(I don't want to add the key to my info-plist, I think it's not normal to ask the user for something I don't use/want to use)
During submission your binary is scanned for the presence of the symbol - AVAudioSession requestRecordPermission: in this case.
when found you get an error like the one above.
You can either
just add the key as there is no prompt for your users until you actually request the permission to use the microphone.
find which of your framework is containing the symbol (you can search recursively in your build folder framework binaries with tools like strings or nm or otool, grep the above symbol and when found remove the framework from your app).

ios app crash when input file Choose Existing selected

I try to use uiwebview for my project. All feature works fine, but when in the application click on the Choose Existing button after selection of input file, app crashed. The error message I get is:
[access] This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSPhotoLibraryUsageDescription key with a string value explaining to the user how the app uses this data.
Should I add some function into project to ignore this?
You have to add to the app the permission to use the photo library.
Click on the project file in the project navigator, and then select "Info" tab. You will see items like "bundle display name" and "bundle version string". Go to the last item and tap the "+" sign there to add a new item.
When a new item has been added, change its name and select "Privacy - photo library usage description", and add some text regarding why your app wants to select a photo (you could leave this blank in older iOS SDKs but not any more).
Now if you run the app again, the app will display the message that you entered and ask for permission to access the photo library. This will happen only once.

Xcode: Missing Info.plist key for NSCameraUsageDescription

After adding GPUImage to my Xcode project, my app is getting denied for Missing an Info.plist key for NSCameraUsageDescription.
Missing Info.plist key - This app attempts to access privacy-sensitive
data without a usage description. The app's Info.plist must contain an
NSCameraUsageDescription key with a string value explaining to the
user how the app uses this data.
I have added the key and description to my plist in several different ways and over 10 builds have all gotten the same denial error.
Here is my info.plist with the Camera Usage key at the bottom.
Any ideas on why I still get denied when I clearly have this defined in my plist?
You need to put a particular and proper description to use Camera in your application. One my application is denied due to improper description. So try with a proper description, maybe it will help you.
<key>Privacy - Camera Usage Description</key>
<string>APPNAME requires access to your phone’s camera.</string>
Ok it is an old one but i'd share my experience... nothing was working for me.
What i add to to was :
using Xcode to edit the plist.info. NOT in an external editor !!!!
DO NOT edit the text CREATE a new key using the + sign.
it will ask you to replace the previous (unless the previous one has been entered wrong... my case i think)
Try the both Camera and Library permission in Plist.
<key>NSCameraUsageDescription</key>
<string>Access camera</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Library</string>
I know this is an older post, but for me, it took an hour to discover that I was not editing the correct Info.plist file, but the one for UI Tests. Double-check which one you are editing, it can be the cause.
You should enter the purpose of using camera as the description. If it does not give the purpose app will get rejected.
you should add something like
Appname requires to access camera for taking profile picture or Appname requires to access camera for uploading product images
From the apple: Check this link.
To protect user privacy, an iOS app linked on or after iOS 10.0, and
that accesses the device’s camera, must statically declare the intent
to do so. Include the NSCameraUsageDescription key in your app’s
Info.plist file and provide a purpose string for this key. If your app
attempts to access the device’s camera without a corresponding purpose
string, your app exits.
I got the same error as OP. I don't know why though because I wasn't using anything related to the camera in my app. So I included this as the description and worked.
"AppName does not use the camera to capture to take a profile picture or upload profile photos."
GPUImage is for capturing image and video, i guess adding Microphone permission might solve the issue
<key>NSCameraUsageDescription</key>
<string>Need to access your camera to capture a picture and record a video.</string>
<key>NSMicrophoneUsageDescription</key>
<string>Need to access your microphone to record a video.</string>
try!
<key>NSCameraUsageDescription</key>
<string>Need to access your camera to capture a photo add and update profile picture.</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Need to access your photo library to select a photo add and update profile picture</string>
I have the same problem even I add the privacy-Camera Usage Description in the info.plist. I try to clean and rebuild the project. Reopen the Xcode. Everything doesn't work until I add the privacy-Camera Usage Description in the Custom ios Target Properties. Hope it solve your problem.
For app store submission, The Usage description should briefly explain why we really needs that feature.
Description:
Camera Use
is too short and doesn't explains why we actually need camera.
It should be something like:
App Needs to use camera to take Profile picture
If you write
Privacy - Camera Usage Description,
change to
NSCameraUsageDescription
you have to put accurate condition in front of any policy, "camera use" is wrong
here, and for this specific problem you have to put "AVCaptureDeviceInput" in front of privacy. Hope it will work for you.
For more you can go to this link and check other privacy policy as well.
https://developer.apple.com/library/content/qa/qa1937/_index.html
let me know about the result.
Try the following things:
Delete deriveddata
Make sure you are not editing the ones in test folders.
Increase development ios version to 11.0

how to re upload our app to appstore

Last week i have launched my app to app store after two days i got a metadata rejection from the review due to providing invalid demo account later i provided my valid account after again they came up with other issues that is
Hello,
Thank you for your response and for providing this information.
However, upon further review we noticed that your app does not comply with the following guideline:
Guideline 5.1.5 - Legal - Privacy - Location Services
Your app uses background location services but does not clarify the purpose of its use in the location modal alert as required in the iOS Human Interface Guidelines.
Please see attached screenshots for details.
Next Steps
To resolve this issue, please revise the NSLocationAlwaysUsageDescription value in the Info.plist to specify the intended purpose of using the user's location while the app is in the background.
Resources
For additional information and instructions on configuring and presenting an alert, please review the Requesting Permission section of the iOS Human Interface Guidelines and the Information Property List Key Reference.
We look forward to reviewing your revised app.
Best regards,
App Store Review
But still my app store status is showing metadata rejected.Now what should i do whether i need to update my proper reasons in plist and rebuild to launch my app or else any other steps to follow????
Hi i have also faced the same issue even after adding NSLocationAlwaysUsageDescription with description in info.plist My App has rejected by apple.If we use locationManager.requestAlwaysAuthorization() you need to explain how you are going to use user location. But in my situation While initializing LocationManager i have changed locationManager.requestAlwaysAuthorization() to locationManager.requestWhenInUseAuthorization() Hope it will work for you too.
You need to add the proper reason of why you need the location service in the App.
You can set it by following way
Steps
Go to info.plist file.
Add your reason of accessing location service under key "Privacy -
Location Always Usage Description"
You will see the plist like this after adding the location service
It seems like your application is rejected because of the insufficient justification of using the location services in the background.You should add description for alert why your application is using the location in background in NSLocationAlwaysUsageDescription in info.plist file of your project. As well as you should mention it in your application description as well that why your application is using location services in background.(i.e for geo-fence or track user location.) Also mention that "continuous use of location may drain the battery dramatically" in application description.
By these steps you will be able to successfully submit your application to the apple store.
Add NSLocationAlwaysUsageDescription with description in info.plist
Go to your Project settings and increment the build number.
Upload a new build and submit your app again.
Update your info.plist file and add NSLocationAlwaysUsageDescription key with description.
Change (Increase) your build number (highlighted in attached image)
Re-upload your app to Itunes Store and submit for review.
You Must upload new Binary because your change is in your app's Info.plist file. See Next Step in your rejection message.
After add valid reason in info.plist file. Make app build with higher version.
Go to AppStore and Click on + button With increment app version. Add new Binary after deleting old One. and Upload for Review.

iOS - App crashed because it attempted to access privacy - sensitive data without a usage description

I get the following error:
[access] This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSPhotoLibraryUsageDescription key with a string value explaining to the user how the app uses this data.
Do you know how to fix that?
These are set in the plist for your project. You can add/remove these by navigating to your target info inspector and expanding the "Custom iOS Target Properties" section. For example, one of the entries here in a project of mine is:
Privacy - Camera Usage Description
Allows user to capture a photo or video to upload to their family circle
You can see how this looks here:
You need to go to your Info.plist, add a new row and paste NSPhotoLibraryUsageDescription into the key column. Then in the value column give a description as to why you need to access the user's photo library. Repeat the same step with NSCameraUsageDescription if you intend to use the device's camera.

Resources