The photo/camera access is part of the Corona Core. You just need to include the entries. Since you’re not using them, your users should not get prompted for permissions which is where those items will show. You can leave the text empty or provide a generic message.
Address book is part of a plugin. I’m not sure at this time why it’s getting flagged, but its easy to work around by adding a plist entry to satisfy the automatic check.
"This app attempts 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.
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.
Once these issues have been corrected, you can then redeliver the corrected binary."
I work with “Application Loader 3.6” and “Coronalabs Version 2016.2951” (2016.9.17)
I encountered this issue for the first time today as well. I do not wish our users to see that the app requires permissions for something that it doesn’t actually use. It causes people and especially parents to kids to avoid the app.
Please update your core so that it does not require these permissions. The core code should be as clean as possible and without ‘hidden features’. As we begin paying for our license again, its a good time to get rid of all the extra baggage in there.
It shouldn’t prompt for the permissions until you access something that requires the permissions. The rejection is an auto-scan by Apple looking for the libraries. Put in a reasonable usage string that you would want to show to your users if you ever did use the features, you would have nice prompts.
This workaround should be temporary until you remove unnecessary requirements from the core. In google already today the user is aware of all permissions even if they are not used. some of them are quite questionable such as asking for MMS which we could not find its source. Apple may choose to show the user the app permissions prior to install as well which will degrade our app conversion even further.
Definitely Corona SDK should not request the access to the unused APIs.
“Just add a description” is not a solution, it’s a hack/workaround.
There are no reasons to request camera/photos access for ALL apps, while Corona SDK is targeted to games development. Very few games need an access to camera/photos!
"This app attempts 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.
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."
As recommended earlier, I’ll put the following changes in my build.settings
NSCalendarsUsageDescription = "Not used within app", NSPhotoLibraryUsageDescription = "Used within app", NSCameraUsageDescription = "Not used within app",
I have one question though… in our app, I allow the user to perform a screen capture with display.captureScreen( true ). This means that I need to include a value for the NSPhotoLibraryUsageDescription, correct? Does the value need to be something specific or can it be like in my example above (ie. “Used within app”)?
To my knowledge, the point of providing that string, is to display to iTC and the end user of the app, what exactly the app is doing with each of those libraries. Because Corona’s core includes all of those libraries, regardless of whether those APIs are actually being utilized. Therefore, including a short descriptive string is necessary. Stating that you are utilizing those APIs should be enough, but if you can include 7-10 words that identifies your indent, that would be ideal.
Supporting info:
From the docs:
Important: To protect user privacy, an iOS app linked on or after iOS 10.0, and which accesses the user’s photo library,
must statically declare the intent to do so. Include the NSPhotoLibraryUsageDescription key in your app’s Info.plist
file and provide a purpose string for this key. If your app attempts to access the user’s photo library without a
I still have this problem: using xcode 8… Corona **55
Please someone advice, many thanks…
While processing your iOS app, XXXXXXXX 1.1(2016.9.231344), errors occurred in the app thinning process, and your app couldn’t be thinned. If your app contains bitcode, bitcode processing may have failed. Because of these errors, this build of your app will not be able to be submitted for review or placed on the App Store. For information that may help resolve this issue, see Tech Note 2432.
You masked out the whole build number. I’m going to assume you meant 2955 (since you’re using Xcode 8). If you by chance are using 2855 you will need to update to 2949 or later.
Since this isn’t impacting the general public any more like it was a week or so ago, we need to see what’s different about your app. Can you post your build.settings please?