Instance Method


Prompts the user to grant or deny access to event or reminder data.


func requestAccess(to entityType: EKEntityType, completion: @escaping EKEventStoreRequestAccessCompletionHandler)



The event or reminder entity type.


The block to call when the request completes.


In iOS 6 and later, requesting access to an event store asynchronously prompts your users for permission to use their data. The user is only prompted the first time your app requests access to an entity type; any subsequent instantiations of EKEventStore uses existing permissions. When the user taps to grant or deny access, the completion handler will be called on an arbitrary queue. Your app is not blocked while the user decides to grant or deny permission.

After users choose their permission level, the event store either calls the completion handler or broadcasts an EKEventStoreChanged. The completion handler is called on iOS 6 and later, and the notification is broadcasted on iOS 5. Because users may deny access to the event store, your app should handle an empty data case.

See Also

Accessing the Event Store

enum EKAuthorizationStatus

The current authorization status for a specific entity type.

typealias EKEventStoreRequestAccessCompletionHandler

The signature for a block object used for operating on events with the requestAccess(to:completion:) method.

typealias EKEventSearchCallback

The signature for a block object used for operating on events with the enumerateEvents(matching:using:) method.

class func authorizationStatus(for: EKEntityType) -> EKAuthorizationStatus

Returns the authorization status for the given entity type.

var eventStoreIdentifier: String

The unique identifier for the event store.