iOS17 Scriptable PSA: reauthorize calendars access

I had a moment of panic when several of my Scriptable scripts that accessed local calendars were broken after the iOS 17 upgrade.

Luckily I read this old post, which suggested checking app permissions:

Settings > Scriptable > Calendars

For anyone else that may google this in the future, with “Add Events Only” access granted to Scriptable, this is the result of trying to fetch all event calendars:

const cals = await Calendar.forEvents();
console.log(JSON.stringify(cals, null, 2))

[
  {
    "identifier": "VIRTUAL_APP_CALENDAR_UUID",
    "title": "Calendar",
    "isSubscribed": false,
    "allowsContentModifications": true,
    "color": {
      "hex": "FF2968",
      "red": 1,
      "green": 0.1607843041419983,
      "blue": 0.40784314274787903,
      "alpha": 1
    }
  }
]

It seems like iOS 17 automatically lowered the permissions for this app for some reason.

3 Likes