Skip to main content

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.

warning

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, Alerts, recurrence, priority, action, location, sub-tasks.
  • 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:

  • List Groups
  • Tag Groups
  • Smart Lists
  • Search Presets
  • Only one picture and one audio recording per task
  • Paused state of a tag — if you pause a tag on one device, you'll need to pause it again on each other device In addition: projects and checklists sync between your 2Do devices, but other CalDAV apps may show them as plain tasks because they do not have the same project and checklist model as 2Do.

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.comSign-In and SecurityApp-Specific Passwords, and enter that in 2Do. App-specific passwords can be re-used in multiple apps and on multiple devices if you'd rather not generate one per device — save it somewhere secure for re-use. When in doubt, generate a new one.

Best Practices

A few things that catch people out:

  • Use your @icloud.com address, not @mac.com. If you have an old @mac.com Apple ID, replace it with @icloud.com when entering it 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 device's date and time to automatic. Under iOS Settings > General > Date & Time, turn on Set Automatically. If your device 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

  1. Make sure two-factor authentication is enabled on your Apple ID.
  2. Generate an app-specific password at appleid.apple.comSecurityApp-Specific Passwords. Label it 2Do so you can revoke it later.
  3. In 2Do open Settings > Sync.
  4. Select CalDAV as the sync method, then choose iCloud for the server type.
  5. Enter your Apple ID and the app-specific password you generated.
  6. Confirm. 2Do connects, discovers your iCloud CalDAV task lists, and starts syncing.
  7. Repeat on each device with the same Apple ID. The first device populates iCloud; subsequent devices use Replace local data to pull down.
After setup — your first sync

Close Settings and return to the main task list. Pull down on the task list 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 Settings > Sync > Next Sync Action — pick Sync normally, Replace local data, or Replace server data before triggering the next sync. The setting auto-resets to Sync normally afterwards.

Daily Sync

iCloud CalDAV syncs in the background and on foreground refresh.

Common Issues

"Password is incorrect" / can't log in / cryptic -1012 error

Most often this is one of:

  1. You're using your normal Apple ID password instead of an app-specific password. Generate one at appleid.apple.com and use that.
  2. The app-specific password has been revoked because you reset your Apple ID password. Generate a new one.
  3. Your device's clock is wrong. Make sure iOS Settings > General > Date & Time > Set Automatically is on.
  4. You used an alias or @mac.com address. Use your primary @icloud.com address. If none of those help, the cleanest fix is to remove the iCloud account from 2Do and re-add it: Settings > Sync → disconnect iCloud → re-add with a freshly-generated app-specific password.

Duplicate tasks after the iOS 13 / Catalina upgrade

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.

All lists and tasks deleted after upgrading to macOS 10.15 / iOS 13 Reminders

This can happen after Apple's Reminders upgrade has been enabled on an iPhone, iPad, or Mac. After that, Reminders no longer shares those lists through CalDAV, so 2Do cannot keep syncing them through iCloud CalDAV.

Recovery: Don't panic — 2Do automatically creates backups of your tasks every 24 to 48 hours. Open Settings > Backups > Manage Auto-Backups, restore from a recent backup, and choose Replace server data during the next sync prompt to push your data back up to iCloud. After this upgrade, switch to Dropbox sync if you want 2Do to keep syncing the same task data between your devices.

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 completes

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 the iOS 13 Reminders upgrade has happened on another device, or two devices are pulling against each other.

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 Settings > Sync > Next Sync Action.

Tips

tip

If you rely on Siri to capture tasks into Reminders, remember that 2Do syncs with iCloud CalDAV lists, not with Apple Reminders.

tip

If you want all 2Do features and attachments to sync, use Dropbox sync.