All comparisons

CalDAV vs ICS Subscribed URL vs OAuth Sync on iOS

When a calendar on your iPhone refuses to let you edit an event, misses a Google Meet button, or lags behind by half a day, the culprit is almost always the sync protocol rather than the calendar app. iOS supports three distinct calendar transport layers: native provider OAuth APIs (Google Calendar API & Microsoft Graph), CalDAV (RFC 4791, used by iCloud, Fastmail, and Nextcloud), and subscribed `.ics` URLs (RFC 5545 `webcal://` or `https://` feeds). Use native OAuth or CalDAV whenever you need two-way editing and RSVPs, and reserve ICS URLs strictly for read-only broadcasts like school terms, sports fixtures, or public holidays. Arte Soft develops Cloud Calendars and publishes this comparison.

Protocol-by-Protocol Technical Matrix

Comparing Native OAuth APIs, CalDAV (RFC 4791), and Subscribed ICS URLs (RFC 5545) on iOS
Technical CapabilityNative OAuth API (Google / Microsoft)CalDAV (RFC 4791 / iCloud)Subscribed ICS URL (.ics / webcal)
Read vs write directionFull two-way read, create, move, resize & deleteFull two-way read, create, move, resize & delete (per ACL)Strictly one-way read-only feed (cannot edit back to host)
Update & refresh latencyNear-instant via OAuth sync tokens & webhooksPush on iCloud; configurable Fetch (15–60 min) or manual pull on standard CalDAVMinutes to hours on iOS; up to 12–24 hours if subscribed via Google/Outlook servers
Authentication & revocationScoped OAuth 2.0 token (revokable per app without password change)System Apple ID (iCloud) or username + app-specific passwordUnauthenticated public link or secret bearer token embedded in URL
Attendee RSVPs (Accept / Maybe / Decline)Full attendee status & organizer updatesSupported via CalDAV Scheduling Extensions (RFC 6638)Read-only snapshot; cannot send attendee replies through feed
Native conferencing link generationCreates Google Meet (Google API) & Microsoft Teams (Graph API) linksPreserves URLs in location/notes; does not mint Meet/Teams rooms nativelyDisplays static join links already written in event description
Color & per-calendar metadataSyncs account calendar list, titles, colors & access rolesSyncs CalDAV collection display name and color propertiesSingle feed-level name and locally chosen color
Payload efficiency on large historiesIncremental delta sync (fetches only changed events)ETag / sync-token collection diffs per modified `.ics` resourceRe-downloads the entire monolithic `.ics` file on every refresh

How Cloud Calendars and iOS Handle All Three Protocols

Understanding where each protocol lives on iPhone saves hours of troubleshooting. Apple’s system Settings (`Settings > Apps > Calendar > Calendar Accounts`) hosts iCloud, generic CalDAV accounts, Exchange ActiveSync, and subscribed `.ics` URLs, exposing them to apps you authorize via EventKit.

Cloud Calendars reads all of those EventKit calendars—including iCloud, Fastmail/Nextcloud CalDAV, and read-only `.ics` subscriptions—and adds direct Sign in with Google OAuth (Free) and Sign in with Microsoft OAuth (Premium) so Google Meet and Microsoft Teams metadata work first-class without relying on iOS Mail’s legacy Google CalDAV wrapper.

Account Sync, Protocol & Platform Support in Practice

Recommended protocol for each major calendar provider on iPhone and iPad
Calendar SourceBest Protocol on iPhoneHow Cloud Calendars ConnectsPlan Required
Google Calendar / WorkspaceNative Google OAuth 2.0 APIDirect Sign in with Google inside Cloud Calendars (+ Meet links)Free ($0)
Microsoft 365 / Outlook.comMicrosoft OAuth (Graph) or iOS ExchangeSign in with Microsoft (Premium) or via iOS Calendar AccountsPremium ($49.99/yr) or Free via iOS store
Apple iCloud CalendarApple EventKit / iCloud Push (CalDAV-based)Automatic once Full Access to Calendars is granted on iOSFree ($0)
Fastmail, Nextcloud, Synology, Mailbox.orgCalDAV (RFC 4791)Add CalDAV account in iOS Settings > Calendar Accounts; read via EventKitFree ($0)
School terms, Canvas/Blackboard, sports & shift feedsSubscribed ICS URL (`https://` or `webcal://`)Subscribe in iOS Calendar Accounts (not static file import); read-only in appFree ($0)
One-time archive backup or migrationStatic `.ics` file import/exportImport into a target writable calendar; never updates automatically afterwardFree ($0)

Subscribed ICS URL vs Imported ICS File: Avoiding the Dead-Snapshot Trap

Two actions share the `.ics` extension and confuse millions of users every semester: subscribing to an ICS URL versus importing a downloaded `.ics` file. Importing copies events once into your personal calendar; when the university moves an exam or an airline changes a departure next week, your imported copy stays frozen at the old time—and you cannot bulk-delete 200 imported events with one tap.

Subscribing to the URL keeps the feed isolated in its own read-only calendar layer that updates when the publisher edits the source, and lets you hide or delete the entire feed cleanly in five seconds.

Scenario Guide: Choosing Between OAuth, CalDAV, ICS Subscribe & ICS Import

Best protocol choice by real-world scheduling scenario and security requirement
User ScenarioProtocol to AvoidRecommended ProtocolWhy It Wins
Editing Google Calendar + creating Google Meet links on iPhoneSecret ICS URL (read-only)Native Google OAuth in Cloud CalendarsInstant two-way edits, Meet links & revokable OAuth token
Self-hosted Nextcloud or Fastmail calendar on iPhoneExported static `.ics` filesCalDAV in iOS Calendar Accounts + Cloud CalendarsStandard RFC 4791 two-way sync without vendor lock-in
Child’s school athletics, TripIt, or Canvas assignment feedImporting downloaded `.ics` into main calendariOS Subscribed ICS URL (`Add Subscription Calendar`)Auto-updates schedule changes & toggles off cleanly
Subscribing to an ICS feed so it updates fast on iPhoneSubscribing via Google Calendar web (12–24h lag)Subscribing directly on iPhone in iOS SettingsiOS polls the HTTPS `.ics` endpoint directly on device
Sharing one editable calendar with an iPhone + Android partnerPublic ICS URL (neither partner can edit via URL)Shared Google Calendar via OAuth on both phonesReal-time two-way write permissions on iOS & Android
Revoking access after sharing a private scheduleSecret ICS address (must reset token for everyone)Named-user OAuth / ACL sharing (or Cloud Calendars roles)Remove one person’s Reader/Writer access individually

Why Google Calendar Subscribed ICS Feeds Lag Behind iPhone Subscriptions

If you paste a school or shift `.ics` link into Google Calendar on the web ("Add calendar > From URL") and then sync Google to your iPhone, Google’s backend crawlers fetch that external URL on an unconfigurable schedule that routinely takes 12 to 24 hours.

Subscribing to that exact same `.ics` URL directly in iPhone `Settings > Apps > Calendar > Calendar Accounts > Add Account > Other > Add Subscription Calendar` lets your iPhone fetch the feed directly from the source server, bypassing Google’s crawler queue while displaying right beside your Google and iCloud events in Cloud Calendars.

Security Hygiene for Secret ICS Addresses

Google’s "Secret address in iCalendar format" and Outlook’s published ICS links bypass login screens intentionally so dumb feed readers can fetch them. Anyone who sees that URL in a forwarded email, Slack channel, or browser history can read every event on that calendar until you click "Reset" in provider settings.

Prefer OAuth, CalDAV, or role-based calendar sharing (`Reader` / `Writer`) whenever events contain private addresses, client names, or medical appointments.

What it looks like

  • Day calendar with appointments and weather
  • Week calendar with color-coded appointments
  • Weather view with hourly and daily forecasts
  • Home Screen widgets with the date, weather and upcoming events
  • Lock Screen Live Activity showing the next event and time until it starts

What to do

  1. Use Sign in with Google (Free) or Sign in with Microsoft (Premium) in Cloud Calendars whenever you need two-way editing and conferencing links.
  2. Configure iCloud and third-party CalDAV servers (Fastmail, Nextcloud) once in iOS Settings > Apps > Calendar > Calendar Accounts.
  3. For read-only `.ics` links, always choose Add Subscription Calendar in iOS Settings rather than tapping a downloaded `.ics` file to import static copies.
  4. Subscribe to time-sensitive ICS feeds directly on iOS rather than routing them through Google Calendar web’s slow URL crawler.
  5. Audit and reset any "Secret address in iCalendar format" in Google Calendar settings if you ever pasted it into a shared chat or former tool.

Questions

Why can’t I edit or delete an event on a subscribed ICS calendar on my iPhone?
An ICS subscription (`webcal://` or `.ics` URL) is an HTTP GET feed defined by RFC 5545—the server publishes a read-only file and accepts no write-back requests. To edit events two-way, connect the source account via OAuth or CalDAV.
What is the difference between CalDAV and OAuth?
CalDAV (RFC 4791) is an open WebDAV wire protocol for syncing calendar items, whereas OAuth 2.0 is an authorization framework. Google and Microsoft pair OAuth 2.0 tokens with their modern REST APIs (Google Calendar API and Microsoft Graph), while Fastmail and Nextcloud use CalDAV for calendar transport.
Does Cloud Calendars support both CalDAV and ICS subscriptions?
Yes. Add any CalDAV account or ICS URL subscription in iOS Settings > Apps > Calendar > Calendar Accounts and grant Cloud Calendars Full Access; CalDAV calendars work read/write and ICS feeds appear read-only in the Free plan.

IETF standards and official vendor sync documentation

More Comparisons

Related