TIL: How to Import or Open .ics Files in the Calendar App (iOS)

Apple Logo

tl;dr - Use this shortcut (shared on RoutineHub) to open .ics files (invite.ics/calendar.ics) and add them to your iOS calendar

You know those attachment files that you get when someone sends you a meeting invite – invite.ics/calendar.ics? Well for some reason they don’t open right on iOS.

iOS will let you review the details of the event, but won’t let you add it to your calendar. It’s infuriating.

Generally there are only two known ways to get a calendar file to actually show the “Add to Calendar” option:

  • Get the calendar file sent to you in the Mail app
  • Open the .ics file from Safari

Something this simple and obvious you’d think that Apple had taken care of, right? But at first it didn’t seem like it (I was wrong about this, it turns out).

App incoming

Oh clearly there’s an opportunity to make an app here! A app that did quite literally one thing and one thing well – opening .ics files in the Calendar app (and getting them to properly add to your iOS calendar).

Surely I wasn’t the first one to try and solve this? Of course, I wasn’t – I found an app that could do it:

to Calendar

I think I could build the functionality for cheaper (I had dreamed up some complicated system sending the ical back to a server and opening it in Safari), so I set off building, which meant:

  • renewing my Apple Developer license,
  • renting a Mac Mini (my old Mini was too old and a new Macbook Pro to develop one app is a bit silly)

Then I dug in – there’s gobs of documentation but it’s not straight forward exactly how to do what I wanted. At first I thought I needed a share extension:

Then after some more searching I found the file type registration for apps:

Things were getting hot and heavy, I was clicking around the app in XCode and I was testing it, only to find…

Nope, just use the Shortcuts App

A disturbingly easy to find reddit thread made it clear – there’s already a really good way to do this on iOS: the Shortcuts app.

Specifically, this shortcut developed by 8isnothing and shared on RoutineHub (routine hub dedicated shortcut page).

Welp, that was silly of me.