From time to time iPhoto’s face detection database gets broken and faces are not recognized on new imported photos. It can even happen that face information of old photos is lost or only partially working.
I think one of the reasons could be using iPhoto image library among several users ( there is an how-to i wrote recently: Sharing iPhoto Library among several users on a Mac). To be more precise it could have something to do with file privileges.
Well the bad news here are that there is no fix for that matter from Apple and all face data is lost. The good news: you can reset the database and make it work again.
To reset the face database you need to delete the database files of iPhoto can create a new one. To achieve that you need to launch the Terminal application (you will find it in the Utilities folder within you Applications).
Now type the following commands in the terminal application (before you continue here make as usual a backup and quit iPhoto):
sudo bash – this will give you superuser privileges after typing the admin password
cd /Users/… – change to the folder where your iPhoto library is located
rm -rf face … – delete the two database files that start with “face”
Now when you run iPhoto again your face database will be empty and you can start to add new faces. Depending on the number of photos you have in you library the first scan of all photos can take a while (10.000 photos made me wait half an hour).
When I started iPhoto for the first time and imported the latest shots from my camera I was amazed how simple it was to split automatically photos into events, place them on a map and improve the quality by few simple clicks. And the best part of course: Face detection.
Immediately I knew, that’s the right software for my photos. Back then when I was using a PC, I just copied the files from my cam into folders with the event name. Edited versions I placed somewhere else. Search for specific photos became soon a nightmare. And I’m not talking about a few hundret images. By now I collected over 10.000 photos. With iPhoto it started to make fun again to organize, enhance and geo tag my photos.
As I’m not the only user of my MacBook it became soon necessary that my wife could access the iPhoto Library from her account as well. Normally the iPhoto Library is placed in your user folder:
Other users won’t have access to this folder unless you change the permissions (I didn’t try it).
So here is what we are going to do: We move the library to a shared space and tell iPhoto to use the new library instead of the the old one:
- Quit iPhoto
- Make a backup !! (use TimeMachine or just copy the library to an external disk)
- Create a new folder “Shared” in the users folder ( /Users )
- Move the the Pictures folder from your account to /Users/Shared (your should have a folder structure like /Users/Shared/Pictures/iPhoto Library)
- Open the folder info window for the folder Shared (select it and press cmd+alt+i)
- In the Sharing & Permissions section add all users that need to access the library and give them “Read & Write” privileges
- Now click on the gear icon () below and select “Apply to enclosed items” (this will basically apply the new privileges for all files and folders under the Shared folder)
Now that we have moved the library to Switzerland and set all permissions correctly we are ready to feed iPhoto with the new information. Follow these steps for every user which will use the library:
- Hold down the “alt” key (on older Macs it’s the Option key) and open iPhoto. Do not release the key before iPhoto isn’t asking you about choosing a library
- Click Choose Library
- Locate the folder where you moved the library before
- Optional: Start having fun ;-)
All users should now be able to see the same content (photos, events, tags, geo information, albums, …) in iPhoto. Changes by any user will be visible for the others as well. Just make sure not to run iPhoto in the same time from different accounts.