What is the best way to migrate from iCloud (Legacy) to iCloud (CloudKit)

I’d like to migrate from iCloud Legacy to CloudKit. I have 15+ gig of data over 6 databases. Some a lot smaller than others.

I have two Macs (desktop/laptop) and an iPhone.

Should I sync with both Legacy and CloudKit on ones of my Macs, turn off legacy on my other devices, then enable and sync CloudKit?


I wouldn’t bother syncing the legacy location if you’re moving to CloudKit.

  1. Disable legacy on the other devices.
  2. Clean the legacy location on the Mac.
  3. Enable CloudKit in DEVONthink on the Mac and sync to it.
  4. Enable Cloudkit on the other devices and sync with it.

How can I specifically enable CloudKit on the Mac? Unlike on iOS I can’t see the specific option to choose between the two.

I followed the steps you describe and the names of indivdual entries are synchronized to iOS. I can’t download any files to the iOS-devices, though.

You’ll have to upgrade DT to version 3.6.2 first

Thx. I missed that. Still, no change. On iOS I can even see thumbnails of documents but still can’t download them.

Thanks for outlining these steps. I could really have used this kind of vital onboarding detail up-front.

Step 2 — Clean the legacy location on the Mac — is doing a lot of heavy lifting here.

Step 3 is where it’s falling apart, though. I’m getting a tonne of errors here:

3:21:26 PM: This operation has been rate limited due to an earlier error: This operation has been rate limited due to an earlier error: <CKError 0x101411420: "Service Unavailable" (2022); "Request failed with http status code 503"; Retry after 1.0 seconds> CKErrorDomain 7

Dozens of these errors; none of my databases will upload to CloudKit. Not the big, important ones with tens of thousands of files; not the little/unimportant ones with fewer than 500 files.

1 Like

Example log window (after quitting/restarting DEVONthink 3.6.2). Running macOS 11.2.1; MacBook Air (M1, 2020).

I think the sync works itself out even with those messages.

I had a lot to sync, received those messages too, but after awhile everything syncd. I didn’t do the cleanup first. I was worried about triggering that before the CloudKit sync finished.

I made sure to only sync one device at a time, and limit it to one connection.


Good to know; thanks.

I have now had a couple of databases upload successfully. I fully expect DEVONtech is wrangling the usual opaque-Apple-APIs issues, too. Really hoping this new setup works as well as we’d all like it to.

I also had a few messages on the iPad only but eventually all was fine. I installed first DTTG on iPhone and iPad, waited patiently for everything to be downloaded, and then went to the Mac for update and change to Cloudkit. Very happy about it and the expected benefits.

What is meant by clearing the legacy icloud sync. I just switched it off - are there any files to be deleted?

Edit: I simply deleted the legacy sync store. All working fine.


How do you ‘Clean the legacy location on the Mac’?

1 Like

If you were previously syncing to the legacy location, then yes there would be extraneous sync data.

Control-click the legacy sync location and choose Clean Location. The results are reported in Window > Log.

Note: This is discussed in DEVONthink’s Help.

This is very helpful—thanks! On the same theme:

  1. I’ve added DTTG 3—for now, what are the pros/cons of uninstalling DTTG 2?
  2. If we don’t uninstall it now, should we also turn off the Legacy iCloud on DTTG 2?

Appreciate the help, as always!

  1. There is no need to keep version 2 installed once you’ve migrated to 3.
  2. Yes, you should disable the legacy sync if you’re moving to the CloudKit sync.

You’re welcome.

1 Like


Just to double-check and for anyone else in the same boat, I will:

  1. Fully sync DTTG 2 to make sure everything from my devices is synced to my Mac.
  2. Delete DTTG 2.
  3. Disable and clean up Legacy iCloud sync on Mac.
  4. Turn on Cloudkit sync on Mac and DTTG 3.

Please let me know if I’m erring or I’m missing something—otherwise, thanks again for the patient and incredibly prompt responses!

That will work. And you’re very welcome. :slight_smile:


One thing—when I try to turn on Cloudkit on my iPad, I’m getting “This database has not been downloaded completely to this device. Uploading it to a new sync location will cause problems because some items will be missing.”

I assume this is because I turned on the new Cloudkit feature for a few minutes before stopping and coming here for advice.

Is it okay to proceed? All the synced databases on my Mac have been completely synced (or uploaded, at least) to Cloudkit now.

Thanks and sorry for all the questions!

You are getting that warning because you are using a shallow sync.

Since you are connecting to a sync location that has the contents synced from the Mac, just tap Proceed.

1 Like

Thanks yet again—and I cannot believe how much faster the Cloudkit sync is! It really is like night and day; great update!