« Hotel rooms for Europ… | Home | MBS FileMaker Plugin,… »

Calendar access in FileMaker 18

We have a little problem with MacOS privacy protection on MacOS Mojave. To access the Calendar, Reminder or Addressbook databases, you need user consent. Usually you query Events.AuthorizationStatusForEntityType function with our plugin to ask for status. The Events.requestAccessToEntityType function then triggers the dialog asking for permission. This works fine in FileMaker 17 and MBS functions work, when you grant access. For FileMaker 18, you always get permissions denied for the status check and the dialog never shows.

First solution

Some users use FileMaker Pro Advanced in version 16 or 17 to enable it once and then work with FileMaker 18. That may work for some, but not all users may want to install older versions of FileMaker in parallel.

Second solution

Well, to change FileMaker, you can change info.plist in the FileMaker application. There you can add NSCalendarsUsageDescription entry with a text about the calendar usage, e.g. "MBS Plugin provides calendar access to FileMaker solutions.". By changing the info.plist you break the code signature of the application, which will make the permissions dialog to not work. You can code sign FileMaker application yourself with your own code signing certificate, if you are a registered Mac developer. When you do that, as far as we know, the dialog for authorization will work again.

We reported the issue to FileMaker Inc. via product feedback. See community thread here. It would be nice if a future FileMaker update could include the info.plist entries for all possible things a plugin could add to FileMaker. e.g. NSCalendarsUsageDescription with text like this: "A plugin requires Calendar access to offer scripts functions to work with the calendar database in your solution.". Or Apple could provide some kind of wildcard entitlement for FileMaker to use them all.

Third solution

A third way we plan to investigate next week is to make a little utility to ask for permission and add the required entries for FileMaker application in the privacy database. Then you would need to use the utility to ask for permissions.

PS: If you need to reset the database with permissions for Calendars, you can use "tccutil reset Calendar" command in Terminal application.

PS: Fixed in FileMaker 18.0.3 as the entitlements are now included.
12 07 19 - 10:37