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.
On Android, CalDAV (including iCloud) sync is an optional in-app purchase add-on. From the app: purchase the optional CalDAV sync add-on to unlock iCloud CalDAV, Fruux, Yahoo!, or your own CalDAV server. A 7-day trial is available before purchase.
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, alarms, recurrence, priority, action, location, sub-tasks.
- A maximum of one picture and one audio recording per task can sync when attachment sync is enabled.
- Tasks marked complete on iCloud.com sync back to 2Do.
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 — 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.
App-Specific Password Requirement
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.
Best Practices
- Use your
@icloud.comaddress, not@mac.com. Old@mac.comaddresses don't work; replace with@icloud.com. - Use your primary Apple ID, not an alias. iCloud aliases do not work for CalDAV sign-in.
- Set your device's date and time to automatic. Android's automatic date/time setting must be on. If your Android device clock is wrong, the app-specific password silently fails.
- Resetting your main Apple ID password revokes all your app-specific passwords. Generate a new one if that happens.
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.
- In 2Do, open Settings > Sync.
- Select CalDAV as the sync method (start the 7-day trial or purchase if you haven't already).
- 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.
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 as Android permits. Pull down on the task list to force an immediate sync.
Common Issues
"Password is incorrect" / can't log in
Most often this is one of:
- Using your normal Apple ID password instead of an app-specific password.
- App-specific password revoked because you reset your Apple ID password — generate a new one.
- Your Android device clock is wrong — turn on automatic date/time.
- Used an alias or
@mac.comaddress — use your primary@icloud.comaddress. If none of those help, remove the iCloud account from 2Do and re-add it with a freshly-generated app-specific password.
Apple Reminders changes do not appear in 2Do
Apple's Reminders app does not share its task data through iCloud CalDAV. If you create or edit a reminder in Reminders, that change does not sync to 2Do through iCloud CalDAV. Likewise, tasks you change in 2Do do not appear in Reminders.
If you want the same 2Do task data on Android, iPhone, iPad, and Mac without depending on iCloud CalDAV, use 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.
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
For most Android users syncing across iOS / Mac / Android, Dropbox sync is simpler and more reliable than iCloud CalDAV.