TN3152: Migrating to the latest Calendar access levels

Follow these guidelines to update your app to use the new Calendar access levels.

View Technote TN3152 >


Hey Jason,

Was having a look into the Technote you shared and, regarding the "Protect user privacy with information property list keys" section, the documentation mentions the following:


On iOS 17 or later, if your app doesn’t include usage description keys, or only includes the older NSCalendarsUsageDescription key for describing events access, iOS automatically denies any access request.

But, immediately after, it mentions this:

To access a person’s calendar events or reminders through EventKit or EventKit UI, your app needs to include descriptions for the following if your app links to iOS 10 or later, and runs on iOS 10 through iOS 16:

  • NSCalendarsUsageDescription, which is a fallback if your app runs on iOS 17 or later and doesn’t include descriptions for NSCalendarsWriteOnlyAccessUsageDescription or NSCalendarsFullAccessUsageDescription.

I find this very confusing as the two concepts seem to be the opposite of each other. Am I misunderstanding something or is there an issue with the documentation?