NSRemindersUsageDescription Info.plist Key is Misspelled in the Documentation

I am working on code that reads Apple Reminders data. To fetch reminders from an EKEventStore in EventKit, you need to request permissions.

But you can only request permissions for calendar, event, or reminders access if your app’s Info.plist contains the appropriate key.

Now here’s the bummer: the Apple Developer Documentation contains a typo.

To access the user’s calendar events, reminders, and contacts through EventKitUI, you need to include descriptions for:

  • NSCalendarUsageDescription
  • NSReminderUsageDescription
  • NSContactsUsageDescription

https://developer.apple.com/documentation/eventkit/accessing_the_event_store

It needs to say reminders, plural. It’s NSRemindersUsageDescription, not NSReminderUsageDescription. If you follow the link from the docs you will see the archived developer documentation has the correct spelling.

So now you know why your test code doesn’t show a permission dialog and only logs a message like

2020-09-21 13:20:24.372953+0200 RemidnersFetching[17484:4620827] [error] error: -addPersistentStoreWithType:NSXPCStore configuration:(null) URL:file:///Users/.../Library/Calendars/Calendar%20Cache options:{
    NSInferMappingModelAutomaticallyOption = 1;
    NSMigratePersistentStoresAutomaticallyOption = 1;
    NSPersistentHistoryTrackingKey =     {
        NSPersistentHistoryTrackingEntitiesToExclude =         (
            ChangeRequest
        );
    };
    agentOrDaemon = 1;
    serviceName = "com.apple.CalendarAgent.database";
} ... returned error NSCocoaErrorDomain(134070) with userInfo dictionary {
    Problem = "request failed, insufficient permission";
}

If you get that, double-check your plist keys.

(I submitted FB8723050.)