Calendar access not working on new device

Hi there!

I installed Scriptable on my new iPhone, but my preferred widgets won’t work because they need access to my calendar.

In the past, iOS did prompt for calendar access when a Scriptable widget requested access for the first time, but iOS 17 seems to changed that. I tried with several widget scripts, but when running from the Scriptable app, all end up throwing an exception because the method used to access calendar events is deprecated and a new one should be used.

The widget shows “Access to the calengder is not granted. Grant access from the system settings.”, but there is no toggle button in the system settings since Scriptable never asked for calendar access on this phone.

Of course, I already tried reinstalling Scriptable and the usual tuning it off and on again.

What can I do to fix that?

Kind regards!

Edit: FYI, some other people can reproduce the issue: Reddit - Dive into anything

you need to grant access via Einstellungen (Settings) / Datenschutz / Kalender, not Scriptable There Scriptable is shown and you can switch on access.
Works for me.

thanks for your reply. Unfortunately, Scriptable also does not appear there.

That‘s weird.

Only help I could give then is this little test code - just in case:

Cals=await Calendar.forEventsByTitle("Familienkalender")
var heute= new Date()

for (d=0;d<10;d++){
  const dStart = new Date(new Date(new Date().setHours(0, 0, 0, 0)).setDate(heute.getDate() + d))
  const dEnd = new Date(new Date(new Date().setHours(23, 59, 59, 999)).setDate(heute.getDate() + d))
//   log(ende)
  events=await CalendarEvent.between(dStart,dEnd, [Cals])// 
  for (e of events){
    log(e.title+' '+e.startDate.toLocaleDateString())

Unforutnately, this also results in the same error. I appreciate your effort, though.

Good Luck!
You might reach additional Scriptable aficionados via the according subreddit…

I’m having the same issue, I can’t find any way of granting Scriptable calendar access. I even tried re-installing the app.

Right now there was a bugfix released for shortcuts dealing with calendar issues - any improvements?

Unfortunately, not.

What it does change though, is that it asks for Reminders access (which was broken before too) and that it no longer shows the warning about deprecated methods.

I got the same problem on the new device. Both of the old (iPhone) and new (iPad) devices have installed the latest version of Scriptable and iOS 17.0.2. Scriptable just not appears in the calendar access setting. Reinstall the app won’t help.

I did some research on this issue. It seems to be caused by the change of permission API in iOS17, which indicates the reason of producing the issue on new devices and probably new installed app without an update to the permission api as well. Or maybe this is a bug from iOS17 system. I look forward the fixes.

Hopefully the latest version (1.7.10) fixes this for you.

Maybe I‘m holding it wrong, or this issue goes beyond the API access.

Is there any log/verbose mode to turn on?

I would try to delete and re-install the app once again to see if it will request for Calendar access.

Unfortunately, it doesn’t. I have tried to delete and reinstall the app but no luck. Calendar access request just doesn’t pop up.
May be I made a wrong guess.

1 Like

I just wanted to say that Calendar access is now fully functional for me after the latest update. Thanks to everyone who helped solving the problem.