I have really enjoyed developing on the iPhone. It makes a great change from the usual websites that I create and I thought I'd share a few tips, that I would have found helpful. App Design
As good as the interface builder is you can't create app concepts in it. I printed out some iPhone paper and nutted out my idea on paper (Help with designing an iPhone app) I also found the photoshop file from Teehanlax which contains all the layered iPhone elements to be very useful
Stanford iTunes U videos
I found the videos on iTunes U from Stanford to be extremely helpful, I really cannot recommend them enough to give you a crash course in iPhone development and the best bit they're all free!
Solving EXC_BAD_ACCESS
Debug Flags, If like me you have come from a C# background the automatic garbage collection has probably made you lazy and the concept of alloc, retain and release maybe a little difficult at first (the above Standford memory management lecturer explains it well). Also the all to common (well for me anyway) EXC_BAD_ACCESS error can easily be debugged by setting variables in your executable. To do this in xcode inside the "Groups and Files" section then under Executables double click your app and the following dialog box should display
add the variables you can see above and you should get some friendlier debug messages from xcode which point you in the right direction of your problem.
iPhone app review process stinks
The iPhone app review process stinks and seems as though Apple is promoting bad reviews don't be fooled by the name (nothing to do with pirates) but checkout Appirater.
"Appirater will see if they’ve used the app for 30 days and launched it at least 15 times. If they have, they’ll be asked to rate the app, and then be taken to your app’s review page in the App Store. If you release a new version of your app, Appirater will again wait until the new version has been used 15 times for 30 days and then prompt the user again for another review."
See Appirater for more info
Learn how to program
You might think this is a little obvious (and probably should have gone first) but your going to have to think back to your computer science lecturers or I'd recommend to be comfortable in at least one object oriented programming language (preferably both). I've seen several forum posts (especially on iphonedevsdk.com) and stackoverflow questions asking for solutions that aren't iPhone specific or even programming questions "more write my app for me questions". Don't get me wrong I know people have to learn but its going to be a very steep learning curve if Objective C is your first programming language.
Finally if you have created an app and if your look for places to put a review. Just provide 1-2 paragraphs reviewing your app and a link and any screenshot or icons you want to include and I'll post it on here for you.