Request: API to check data access authorizations

Originator:pierre.bernard
Number:rdar://41123187 Date Originated:June 14 2018
Status:Open Resolved:
Product:macOS + SDK: AppKit Product Version:
Classification: Reproducible:
 
macOS Mojave introduces new categories of protected user data: photos, mail, etc.

As the WWDC session explained, the OS / API behavior differs between the different types of protected data. This is understandable since the nature, sensitivity and importance of the data to applications differ.

Also, some legacy API had like ABAddressBook had protections bolted on after the fact. This results in calls to the address book causing blocking UI to show. This same behavior was chosen for access authorization to photos.

This requires precise timing of when to first use these API so as not to startle the user with an unexpected authorization request.

Worse, there is no API to determine if permission was requested, granted, or denied. Thus one cannot decide to delay access to contacts or photos when permission has not yet been requested, but work with the data right away on later app launches once access has been granted.

Request #1: Please provide API akin to +[EKEventStore authorizationStatusForEntityType:] and -[EKEventStore requestAccessToEntityType:completion:]  to check on and request authorization to access photos

Request #2: Please provide API to check on and request authorization to access application data

Request #3: Please consider a unified API to cover all data categories as listed in System Preferences > Security & Privacy > Privacy

Request #4: Please provide API and UI that directs the user to the correct pane in System Preferences and provides instructions on how to grant authorization after the fact.

I.e. when the user initially refused access to Calendar items and later asks the application to work with Calendar, the application has to direct her to System Preferences. This is an rather complicated procedure for the user and thus warrants a bit of explaining. The explaining needs to be adapted to match the current running OS (and its appearance). Thus it would be best if this explaining could be provided by the OS.

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!