ICloud – Photos: Move images from iCloud to local storage without losing metadata (albums, tags, etc)

icloudphotos

I'm looking free space in my iCloud storage my moving images to local storage only.

I know I can export the full size images, delete them from Photos.app, then re-add them to Photos as referenced photos. But doing this will lose all the metadata in Photos (albums, tags, etc), not to mention moving them to the top of my recently added all-photos list.

My beloved and lamented Aperture had the Relocate Originals command which would move a managed photo to external storage, but Photos doesn't seem to have this. Is there any AppleScript or Swift-accessible system api command that can?

Any way to do this short of writing my own migration tool to save all the possible metadata, then re-add it to the deleted-then-reimported-as-referenced photos?

Cheers!

Best Answer

Assuming your photo library is complete ("Download Originals" is checked), I'd recommend the following process:

  1. Close out Photos
  2. In Finder, navigate to the Photos library (~/Pictures/Photos Library.photoslibrary)
  3. Duplicate the library (Right click > Duplicate), then open it by double clicking
    • This shouldn't double the amount of space used by the device since the system will link the original files together until one is modified
  4. You will be able to confirm disconnection from iCloud.
  5. Delete photos from the non-iCloud copy that you want to keep in iCloud.
  6. Delete photos from the iCloud copy that you want to keep local only.
  7. Empty the recently deleted on the local copy to save space

Unfortunately, you cannot repeat this process and merge local libraries. If this is for archival purposes, I'd recommend planning on using a new target library for each period of time or event you're archiving.

iCloud features are only available for the System Library