I have a MacBook and use iPhoto to manage my photo library which in general does a great job. Recently however a discovered a rather annoying bug in iPhoto and since I finally worked out how to solve it I thought for my first post I should share the solution.
Neither Front Row nor Aperture (BTW Apple have a free trial of Aperture) ‘worked’: Front Row reported that I didn’t have any photographs, and asked me to import some to the library; and Aperture just didn’t do anything (no error messages, no activity, nothing) when I tried to include my iPhoto library.
After some digging about on the Apple support site it was suggested that the AlbumData.xml file may include invalid characters (& and the like), and sure enough opening the file in a browsers highlighted that the file was invalid XML. However, deleting the file and allowing iPhoto to recreate it (as suggested) didn’t work.
- Close iPhoto…
- Locate where in the AlbumData.xml file the invalid data is (the error [in your web browser] should report at what line the invalid XML is
- Open the AlbumData.xml file with an application like TextWrangler and go to the specific line with the error – in my case the problem was with one of my keywords (i.e. “List of Keywords”);
- Open iPhoto and highlighting the offending data – re-enter it thereby replacing the invalid data;
- Close iPhoto
- Delete AlbumData.xml
- Re launch iPhoto – make a change (e.g. create a new folder or album) [this last step forces iPhoto to republish the AlbumData.xml file]
- the error could have been, I assume, in any part of the file not just the keywords;
- you can’t edit the AlbumData.xml file directly since iPhoto never reads the file – only writes to it, so any changes will be overwritten.
A word about the AlbumData.xml file
iPhoto generates the AlbumData.xml file (inside its library folder). This file is only used by other applications, such as Front Row and Aperture (iPhoto never reads this file), so that they can locate photos and albums in the photo library. In other words the file is not used by iPhoto rather it is created by iPhoto to aid integration.
The fact that there are cases where iPhoto will write out malformed XML to the AlbumData.xml file, causing other applications to be unable to read the file correctly seems perverse – iPhoto should never be allowed to do this.
This bug is particularly common when migrating your photo library from Picasa into iPhoto.