Sync with iCloud CalDAV
iCloud sync in 2Do works over CalDAV. This lets 2Do read and write tasks through iCloud using your Apple ID and an app-specific password.
Important — Reminders is separate. Apple's Reminders app does not sync with iCloud CalDAV. 2Do's iCloud option syncs with iCloud CalDAV lists. Changes made in Reminders do not sync back to 2Do, and changes made in 2Do do not appear in Reminders.
What iCloud Sync Carries
- Core task fields — title, notes, dates, recurrence, priority, action, location, sub-tasks.
- Multiple alarms per task sync through iCloud CalDAV as-is.
- A maximum of one picture and one audio recording per task can sync when attachment sync is enabled.
Limitations
iCloud CalDAV does not have a place for every 2Do feature. The following do not sync through iCloud CalDAV as full 2Do features:
- Smart Lists
- List Groups, Tag Groups, Search Presets
- Tags from 2Do don't appear in Apple Reminders. Tags assigned to tasks sync between 2Do devices, but unused tags don't carry across.
- Paused state of a tag — re-pause on each device.
In addition: projects and checklists sync between your 2Do devices, but they show up as plain tasks in Apple Reminders and on iCloud.com because Reminders doesn't have those concepts.
If you use lots of attachments, Dropbox sync is usually a better choice. iCloud CalDAV can sync a maximum of one picture and one audio recording per task.
App-Specific Password Requirement
Since June 2017, Apple requires two-factor authentication for any third-party app accessing iCloud. You cannot use your normal Apple ID password — you must generate an app-specific password at appleid.apple.com → Sign-In and Security → App-Specific Passwords, and enter that in 2Do. App-specific passwords can be re-used in multiple apps and on multiple devices — save it somewhere secure for re-use, or generate a new one any time.
Best Practices
A few things that catch people out:
- Use your
@icloud.comaddress, not@mac.com. If your Apple ID also has an@mac.comaddress, enter the@icloud.comaddress in 2Do. - Use your primary Apple ID, not an alias. iCloud aliases do not work for CalDAV sign-in — only the primary email address that owns the Apple ID.
- Set your Mac's date and time to automatic. Under System Settings > General > Date & Time, turn on Set Automatically. If your Mac's clock is wrong, the app-specific password will silently fail without an obvious reason.
- Resetting your main Apple ID password revokes all your app-specific passwords. You'll need to generate a new one and re-enter it in 2Do.
Setup
- Make sure two-factor authentication is enabled on your Apple ID.
- Generate an app-specific password at appleid.apple.com → Security → App-Specific Passwords. Label it 2Do so you can revoke it later.
- Open 2Do > Settings > Sync.
- Select CalDAV as the sync method, then choose iCloud for the server type.
- Enter your Apple ID and the app-specific password you generated.
- Confirm. 2Do connects, discovers your iCloud CalDAV task lists, and starts syncing.
- Repeat on each device with the same Apple ID. The first device populates iCloud; subsequent devices use Replace Local Data to pull down.
Close Settings and return to the main task list. Press ⌘S (or click the Sync toolbar button) to force the first sync. 2Do will then ask whether to Replace Server Data or Replace Local Data — choose carefully based on which side has the data you want to keep.
After the first sync, you can manually override the next sync any time under 2Do > Settings > Sync > Next Sync Action — pick Sync Normally, Replace Server (iCloud) Data, or Replace Local Data before triggering the next sync. The setting auto-resets to Sync Normally afterwards.
Daily Sync
iCloud CalDAV syncs continuously while 2Do is running. Press ⌘S to force an immediate sync.
Common Issues
"Password is incorrect" / can't log in / cryptic -1012 error
Most often this is one of:
- You're using your normal Apple ID password instead of an app-specific password. Generate one at appleid.apple.com and use that.
- The app-specific password has been revoked because you reset your Apple ID password. Generate a new one.
- Your Mac's clock is wrong. Make sure System Settings > General > Date & Time > Set Automatically is on.
- You used an alias or
@mac.comaddress. Use your primary@icloud.comaddress. If none of those help, the cleanest fix is to remove the iCloud account from 2Do and re-add it: 2Do > Settings > Sync → disconnect iCloud → re-add with a freshly-generated app-specific password.
"Forbidden" error during sync with iCloud
This error usually means the credentials being sent aren't accepted at all — typically because of one of the points above (wrong password type, alias, expired). Generate a fresh app-specific password and re-enter.
Duplicate tasks after Reminders changes
If your tasks suddenly appear twice, you may be syncing the same iCloud tasks through two paths. Remove one of the two sync sources from Settings > Sync to clear the duplicates.
Tasks disappear after changing lists in Reminders
Apple Reminders is separate from iCloud CalDAV. If a Reminders list is no longer shared through CalDAV, 2Do cannot keep syncing that Reminders-owned list through iCloud CalDAV.
Recovery: Don't panic — 2Do automatically creates backups of your tasks every 24 to 48 hours. Open 2Do > Settings > Backups > Manage Backups, restore from a recent backup, and choose Replace Server Data during the next sync prompt to push your 2Do data back up to iCloud CalDAV. If you want to avoid Reminders-related changes entirely, use 2Do's own iCloud CalDAV lists or switch to Dropbox sync.
507 Insufficient Storage error
Your iCloud account is out of storage. Free up space in iCloud, then retry sync.
301 Moved Permanently when syncing using CalDAV
Apple occasionally moves CalDAV endpoints. Update 2Do to the latest version — newer builds follow Apple's redirects automatically.
A list I delete reappears after sync with Reminders
This usually means another device still has that list and is pushing it back up. Delete the list on all devices, then sync.
Tasks I add to 2Do get deleted after some time
This typically points at a stale sync state — either Apple's Reminders app has stopped sharing that list through iCloud CalDAV on another device, or two devices are pulling against each other. See Tasks I add get deleted after some time and consider switching to Dropbox.
Setting Up Another Device & Troubleshooting
- Adding another device — install 2Do, configure CalDAV against the exact same iCloud Apple ID (with a fresh app-specific password), and let the first sync pull your data down. See Setting up a new device for the step-by-step.
- One device showing different tasks? — see One of my devices isn't syncing correctly. Standard recovery: run a clean sync on the most up-to-date device, then Replace Local Data on the lagging ones.
- Replace Server Data vs Replace Local Data — picking the wrong side can overwrite good data. Pause and read Replace Server Data vs Replace Local Data before confirming. You can re-trigger the choice any time under 2Do > Settings > Sync > Next Sync Action.
Tips
If you rely on Siri to capture tasks into Reminders, remember that 2Do syncs with iCloud CalDAV lists, not with Apple Reminders.
If you want all 2Do features and attachments to sync, use Dropbox sync.