Request: API to request EventStore authorization with prompt

Originator:pierre.bernard
Number:rdar://41629915 Date Originated:June 29 2018
Status:Open Resolved:
Product:macOS + SDK: Calendar Product Version:
Classification: Reproducible:
 
The current EKEventStore API to request access to calendar and reminder data prompts the user only once for each application. Should the user refuse access then and later want to grant access, she has to do so in a setting burried deep in System Preferences.

The application for which access to the data is essential can detect that authorization was refused and explain to the user why access is needed or what features will be limited. Should this change the user’s mind, the application has to provide instructions on how to navigate System Preferences to reach the desired setting. Such instructions can never be satisfactory to all users and can never covert all OS versions and localization. This results in frustrated users and support load for developers.

AVFoundation has API that allows for forcing a prompt. Such API allows developers to provide a much better user experience.

Please provide comparable API for EKEventStore. For example:

typedef NS_OPTIONS(NSUInteger, EKEventStoreRequestAccessRequestOptions) {
	// No options
	EKEventStoreRequestAccessNone,

	// Prompt the user - even if the user was already prompted in the past
	EKEventStoreRequestAccessForcePrompt
};

@interface EKEventStore (AuthorizationRequest)

+ (void)requestAccessToEntityType:(EKEntityType)entityType
                       options:(EKEventStoreRequestAccessRequestOptions)options
             completionHandler:(void (^)(BOOL granted))handler;

@end

Please provide comparable API for access authorization to other protected data and actions: contacts, photos, Apple Events, Application Data, etc.

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!