I just got into the developer program, so I can finally run things on hardware!
Unfortunately, I had the same experience as last time I did the switch from purely testing on simulators/emulators to testing on hardware. Things were working great in the simulator, I loaded it on hardware, and it just crashed and died. It took it about 5 seconds sitting at the loading screen, then crashed back to the menu (or whatever it's called on the iphone/touch).
A couple hours of debugging turned up the same issue as last time -- I was initializing some things incorrectly, which led to some bad pointers, which somehow, out of pure luck (would that be good luck or bad luck? I'm not sure) worked just fine in a simulator, but caused seg faults/null pointers on the real thing.
Luckily, it wasn't as hard to track down as it COULD have been, so as of today, it's running on hardware!
A couple thoughts/surprises:
1. My framerate is too high. The framework I'm using locked things to 30fps on the simulator, so I assumed it would do the same on the hardware. Nope. So I need to manage that myself.
2. It'll also be nice to really see how the performance works. In the simulator I was running into performance issues blitting the tiles for large backgrounds. I found a workaround, but it'll be nice to do some experiments to see what I can get away with and what I can't.
2. I can actually now observe how much time it spends loading. My biggest gripe with a lot of the iphone games is the long load times -- for small portable gaming, you should be able to get into the action very quickly. I'm at about 5 seconds right now. That doesn't include music or sound effects, but does include loading ALL the graphics up front. I can probably lower it a bit by breaking up the art assets and loading them as I need them. We'll see.
If I had a camera handy, I'd take some video or at least a photo of it on hardware, cause pictures are fun. But I don't, so you'll just have to use your imagination.