keith / reminders-cli

A simple CLI for interacting with macOS reminders
MIT License
666 stars 53 forks source link

how do I grant reminders access? #13

Closed ebowman closed 1 year ago

ebowman commented 3 years ago

I installed the May 28 build (resolving #10), and when I run it, it tells me I need to grant reminders access. I can't figure out how to do this -- in System Preferences->Security & Privacy->Reminders, it doesn't show up, and I don't see a way to manually add it. Was kind of hoping it would ask me to grant it permission when it runs, but it doesn't. I also tried building it from master, same problem. Thanks! (Running MacOS 10.15.7).

keith commented 3 years ago

Running the tool for the first time should ask immediately and register it in the System Preferences menu

ebowman commented 3 years ago

That's what I assumed, but that didn't happen. Curious if you have any other suggestions.

keith commented 3 years ago

Can you paste the output you see when you run it?

jackweb commented 3 years ago

@ebowman I managed to solve the issue. I was missing permissions to Reminders.app (Apple's) for my terminal app.

Zrzut ekranu 2020-11-20 o 20 48 18

Hope it solves your issue.

rvaneerd commented 3 years ago

Hi, I'm running yesterday's build of the reminders-cli. Although I managed to get it working from the commandline, I run into permission issues when the same script is run as a manually triggered "service" (built using automator) to a Finder folder. I get the following errors:

2020-12-19 11:18:28.934 reminders[24671:191815] CoreData: XPC: Unable to load metadata: Error Domain=NSCocoaErrorDomain Code=134070 "An error occurred in the persistent store." UserInfo={Problem=request failed, insufficient permission}
CoreData: error: addPersistentStoreWithType:configuration:URL:options:error: returned error NSCocoaErrorDomain (134070)
CoreData: annotation: userInfo:
CoreData: annotation:   Problem : request failed, insufficient permission
CoreData: annotation: storeType: NSXPCStore
CoreData: annotation: configuration: (null)
CoreData: annotation: URL: file:///Users/rob/Library/Calendars/Calendar%20Cache
CoreData: annotation: options:
CoreData: annotation:   NSMigratePersistentStoresAutomaticallyOption : 1
CoreData: annotation:   agentOrDaemon : 1
CoreData: annotation:   NSInferMappingModelAutomaticallyOption : 1
CoreData: annotation:   serviceName : com.apple.CalendarAgent.database
CoreData: annotation:   NSPersistentHistoryTrackingKey : {
    NSPersistentHistoryTrackingEntitiesToExclude =     (
        ChangeRequest
    );
}
You need to grant reminders access

I already looked in the privacy panel and iTerm is listed (which is why it works from the commandline) but there's no way I can have my "service" (or anything else at all) added.

Any idea?

Regards, Rob.

rvaneerd commented 3 years ago

Hi,

I'm running yesterday's build of the reminders-cli. Although I managed to get it working from the commandline, I run into permission issues when the same script is run as a manually triggered "service" (built using automator) to a Finder folder. I get the following errors:

2020-12-19 11:18:28.934 reminders[24671:191815] CoreData: XPC: Unable to load metadata: Error Domain=NSCocoaErrorDomain Code=134070 "An error occurred in the persistent store." UserInfo={Problem=request failed, insufficient permission}
CoreData: error: addPersistentStoreWithType:configuration:URL:options:error: returned error NSCocoaErrorDomain (134070)
CoreData: annotation: userInfo:
CoreData: annotation:     Problem : request failed, insufficient permission
CoreData: annotation: storeType: NSXPCStore
CoreData: annotation: configuration: (null)
CoreData: annotation: URL: file:///Users/rob/Library/Calendars/Calendar%20Cache
CoreData: annotation: options:
CoreData: annotation:     NSMigratePersistentStoresAutomaticallyOption : 1
CoreData: annotation:     agentOrDaemon : 1
CoreData: annotation:     NSInferMappingModelAutomaticallyOption : 1
CoreData: annotation:     serviceName : com.apple.CalendarAgent.database
CoreData: annotation:     NSPersistentHistoryTrackingKey : {
    NSPersistentHistoryTrackingEntitiesToExclude =     (
        ChangeRequest
    );
}
You need to grant reminders access

I already looked in the privacy panel and iTerm is listed (which is why it works from the commandline) but there's no way I can have my "service" (or anything else at all) added.

Any idea?

Digging in further showed me that my service is running as me / my user but where in Terminal the presented date is shown in Dutch, but when run from the service it is shown in English. Not sure whether this helps / is related but to me it is kind of strange.

Regards, Rob.

philip-iii commented 2 years ago

I struggled with this for a while as well. As hinted elsewhere, you likely need to add the entitlements (Reminders) the reason to the Info.plist, e.g.:

<dict>
    <key>NSRemindersUsageDescription</key>
    <string>Export event information</string>
</dict>
vxe commented 1 year ago

@philip-iii to clarify which Info.plist are you talking about specifically?