Source at https://github.com/udibr/bitcoinApp
I've managed to run the entire bitcoind on iPhone (both sim and device) on a separate thread inside an App.
The App acts as a client and communicates using the regular RPC-JSON with the bitcoind.
The changes I had to do to bitcoin code are minimal and are described in the "Add bitcoin.org project" section ofhttps://github.com/udibr/bitcoinApp/blob/master/build-iOS.txt
(at some point I hope they will be merged into the master repo)
For now the only command I have implemented on the client side is "getinfo" but it should be easy to use it as a template and add all commands.
The client is implemented using Three20 package (the same SDK used by the facebook App) so it already has non-trivial features, out of the box.
* on the info page if you drag the table all the way down you can force it to refresh its content
* every bitcoind command appears as an icon on the launcher screen. It is possible to re-arrange (or delete) these icons, allowing for very nice App customization.
There are many things that needs improvement:
* the client/server response time is slow and not what you expect from an App.
* It takes a while for the daemon to start and until then if you press on the info (getinfo) button you get an error.
* If you put the App in the background the entire thing crashes...
but its a start...
once we will have something reasonable I will try to put it on the App store (not sure what Steve will have to say on this.)