I have written an iPad Arduino simulator program. It's now available from the App Store at http://itunes.apple.com/us/app/simduino/id526927905?ls=1&mt=8
My app is all on the iPad - there is no connection to a real Arduino. It includes a C compiler, so you can write real Arduino programs. It also includes a way to define your circuit. You can then run the program you wrote against the circuit. The circuit would include LEDs and wires. Then as your program sets ports to be high or low, the LEDs would blink on or off. Note, they aren't real LEDs but are graphics being rendered by the app.
It's not a free app, but it only costs a few dollars. In fact writing a C compiler from scratch is not an easy job and I've been working on this for 5 months now, hence the desire to get some reward back.
Why do this? It's not really proper Arduino tinkering. That's true, but it's a way to learn programming and to learn about electronics without actually getting your hands burned (assuming your soldering is as good as mine ;-). It might also be a good aid for kids. It was also an interesting exercise for me. I've been a programmer for 30 years now and writing a compiler, assembler and virtual machine was intellectually a challenge.
I have been asked about an Android version of this, but after spending 5 months writing some hard-core C software, I think doing the same in Java would be one step too far. Maybe if this is successful though, who knows.