Hi there… Recently I’ve submissed an update of my historical app on the Mac App Store… They refused it because “revise the permission modal alert to specify why the app is requesting access to the user’s Contacts”.
So my app has to gains access to the AddressBook, and do it since 2012, but this time Apple asks to give an explanation on the modal alert… The modal alert is the system-side alert, so I have no idea on how to explain better why my app needs that access (I think to a user that click on a button that says “Import contacts from your addressbook” will have idea on what he’s doing, but seems apple’s controllers not…). I codesign my app with appwrapper…
Do anyone can give me a suggestion?
Thanks in advance.
In the Info tab of App Wrapper, click the “+” button under the topmost list and select “Other”.
Then enter in “NSContactsUsageDescription”, make the type “String” and set your reason as to why you need access to the users contacts.
I’ll add specific options for these in a forth coming update.
p.s. I wondered when Apple might start to enforce these annoying iOS dialogs on macOS users.
User is trying to breath, do you allow or deny?
p.p.s; currently there is 21 different things that the users has to approve
I was reading from https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html#//apple_ref/doc/uid/TP40009251-SW28 and the new undocumented AppleEvents key we know from other threads.
I have a list of 21 “UsageDescriptions”, only 4 of which are marked as compatible with the macOS, but I haven’t found any documentation that says any of these keys are required for macOS. I found this document which states which keys are required for iOS and when you will need to use them.
I’ll keep looking, and thinking…
It’s great. Thanks for the answer
And by the way, if you want to test you app, just the string and want to see the result I have found how to do it in this page: https://developer.apple.com/library/archive/qa/qa1906/_index.html
You have to run this command in the Terminal:
tccutil reset AddressBook