If you are considering outsourcing some or all of your project then you should definitely think about having a Non Disclosure Agreement signed by everyone that will see your specifications or idea. You can find some decent NDAs on Docstoc and then simply put your name or Company name in the document or have a lawyer help adapt it for your needs. Especially with outsourcing the project abroad, it is just too difficult to know whether you can trust all of the developers you will speak with. While I am sure most NDAs won’t hold up internationally anyways, even the fact that someone is willing to go through the trouble of printing, signing, and scanning says something in my mind.
Once you have a signed NDA and you have sent out your specs and chosen someone to your liking the next step is drafting a contract. What worked well for me was to create a contract between the developer and myself outlining, via milestones and detailed specs, what was going to be done at each stage. While it takes a lot more up front work on your end to know exactly what you are looking for, it pays off in the end by having everything out on the table for everyone involved.
Things to consider in terms of a contract with a developer for an iPhone application: