My iPhone broke. The screen just died a slow death, getting brighter and brighter and then very hot and then...nothing...over the course of a morning. With no phone to play with this morning, I did a lot of thinking and hunting through iPhone foundation files instead. And I seemed to find quite a lot of interesting calls in the Celestial framework, specifically the AVRecorder class.
I was pretty sure the capability was in there to begin with--after all, didn't the Steve promise us one back in the January Keynote? So that certainty made the class hunt go a little quicker.
When I returned home from the Apple Store Genius Bar with my new loaner, I put all that thought into code and this is what turned up: my newly written iPhone Voice Recorder utility. Yes, it is little more than a proof-of-concept but (a) it works, and (b) is the first step towards iPhone VOIP.
The recorder saves in Adaptive Multi-rate format (.amr files) that you can play back in QuickTime. I put them into the /tmp folder and tell you the name of the file when you finish your recording.
As always, I'd love to hear feedback and questions.
Update: Improved version with app wrapper is here