I’m making a calendar app using expo and have successfully synced it with Google Calendar using CALDAV.
For now I just want to sync my iCloud calendar.
I’ve seen two solutions to sync iCloud calendar.
- Use CALDAV
This module looks good and works well. However, syncing requires an app-specific password. Users will hate it because they are already logged into the app with their Apple account. So, I would like to sync iCloud calendar using credential tokens etc without any additional action from the user.
Additionally, CALDAV does not have a real-time sync option for calendar. It will need a timer or something like that to check for changed events.
- Use the expo-calendar
The expo-calendar syncs with device calendar. Since I only make iOS apps, that’s nice too.
However, if a user updates their iCloud calendar on a MAC PC or browser, they will need to open the device calendar to sync with my app.
If user don’t open device calendar, iCloud changes won’t sync to device calendar, and expo-calendar won’t be able to get updated events from device calendar.
I saw some iPhone apps that working well to sync iCloud calendar without user actions after Apple Login like “toggl track” etc.
Please help me find another solution to sync Apple Calendar.
Or please let me know solution for overcoming the following problem.
- CALDAV, which does not use app-specific passwords,
- CALDAV real-time synchronization for updated events
- Expo Calendar sync events without opening device calendar.