Why won’t iPhoto open the iPhoto Library any more

iphoto

My copy of iPhoto has stopped opening my iPhoto Library.

When I open iPhoto, it shows me an empty “Which photo library do you want iPhoto to use?” window. This happens if I open iPhoto normally, or if I hold down the option and command keys while opening it, as suggested in the repair guide linked to from the comments below.

enter image description here

When I click the “Other Library…” button, I can select my iPhoto Library file, but clicking on the “Open” button has no effect.

enter image description here

When I Get Info on my iPhoto Library file in the Finder, it recognizes it as a photo library, and the size (418 MB) looks about right.

enter image description here

If I double-click on the iPhoto Library file, iPhoto does open, but it only shows me the empty “Which photo library do you want iPhoto to use?” window, just like when I open iPhoto itself.

Why won’t iPhoto open my iPhoto Library? And, more importantly, how can I make it open the Library again?

Best Answer

Unfortunately, I'm not super familiar with the inner workings of the library file. You can copy the masters out and reorganize them into a new library so that your pics aren't lost:

  1. open a terminal window
  2. type mkdir ~/Desktop/RecoveredPicsEnter. This creates a new folder on your desktop where your recovered masters will live.
  3. type (but do not hit enter) find make sure to leave a space
  4. drag the iPhoto library into the terminal window. This has the effect of pasting the path to the library.
  5. It also put an extra space at the end of the path, delete it.
  6. type /Masters immediately after the path, make sure there's no spaces between them
  7. NOW you can add a space and past the rest of this into terminal: -type f -exec cp {} ~/Desktop/RecoveredPics/ \;
  8. Hit Enter
  9. Now you can head over to the Finder and check out the contents of the RecoveredPics folder that's on your desktop. If you're satisfied with the contents, you can drop the folder on iPhoto and create a new library from these.

Let me know if this is helpful!