Generally speaking, my recommendation is to delete photos from your digital camera manually after you're certain they've been imported into iPhoto. That's easy on every camera I've used, so the peace of mind is worth the small extra step. However, since most photos I take using my iPhone aren't that impressive, I've always let iPhoto delete the photos automatically after import, with no problems.
However, after importing 162 photos and movies from my iPhone today, I accidentally clicked the Keep Photos button in iPhoto, leaving all the already-imported photos on my iPhone. iPhoto would happily hide them from view when importing new photos, but it wouldn't delete them. Needless to say, I didn't want to delete 162 photos one at a time by tapping the trash icon followed by the Delete Photo button - I have better things to do than tap my iPhone 324 times (like write this article!).
I figured out two ways around the problem, one using just the iPhone and another using Image Capture on the Mac.
- To delete the photos on the iPhone in a batch, tap Photos > Camera Roll to view all the photos, and then tap the Share button. Next, tap each photo in turn to select it, and once you've selected all of them, tap the Delete button. This halves the number of taps necessary, but since you must still tap each photo once in the selection step, it's not ideal.
- To delete all the photos in one fell swoop, connect your iPhone to your Mac, launch Image Capture (usually in the Applications folder), select the iPhone in the sidebar if necessary, choose Edit > Select All (Command-A), and then click the button with the little red circle with a slash through it. Image Capture prompts you to make sure you want to delete all the photos; click Delete.
Once again, it's a little surprising that there's a capability of the age-old Image Capture program that Apple hasn't yet built into iPhoto, but there it is.