Safety Measures for Outsourcing - HELP

I will be outsourcing the coding to an online freelancer (not through Odesk, Elance, Freelancer or any 3rd party sites).
I will be providing him with all the graphics, sounds and also the Game Design Documents.

My concern is that I feel like I have no real protection against him from finishing the game, then uploading it himself on the iOS store.

Besides a written contract (I don't know how effective that is internationally and for freelance work), are there any safety measures, methods or programs I could use to prevent him from stealing the game?

The main thing is you're taking a big risk if you're hiring someone who's never done contract work before. If they've done other project for hire, you have that assurance. You can also contact past employers for comments on how well that coder performed for them.

More helpful suggestion:
At the end of the day, if for some reason someone decides to go and upload your game to the app store/google play/what have you, there's not a *lot* you can do to stop them without taking it to court. However, having run a contracting company for a year now as well as having done contract work myself I've got a few common-sense (now) things that might help you stay on the bright side of virtual hiring:
1. Often, professional contractors will have almost ZERO motivation to publish your work themselves. Contractors rely on a very simple business model - do work, get paid. Releasing an app is a far more complex task that requires far more time, money, and emotional fortitude than a lot of contractors have. In addition, the reputation cost of ripping off a client will be detrimental to professional contractors. How do you tell if a contractor is professional?
2. Ask for past work. This does not need to be in the form of shipped apps or big-name clients - shipped apps and big-name clients are nice to have, but not a necessity, and they do NOT equate to skill, but they do usually equate to high prices. For hiring coders specifically - ask for sample code. Ask for sample projects that are along the lines of your game (i.e same genre). Ask uncomfortable questions and see how they respond (i.e why don't you have more portfolio work?)
3. Sign an NDA - NDAs are ridiculously overused and it's kinda stupid to throw around NDAs for ideas, but if you're exchanging assets and design documents, it's perfectly legitimate to get one signed. Good contractors usually won't mind, and it at least gives you the option of legal recourse if things DO go sour.
4. Pay on milestone completion - we usually take a percentage upfront, and then a percentage based on semi-weekly milestones. Some contractors require upfront, some don't - if a contractor requires an upfront then make sure they have a pretty good portfolio and presence. Make sure that there's a hefty percentage of the project paid on *completion* - again, they can theoretically get payment for all previous milestones and then run off with the game and ship it themselves, but often it's more attractive to get guaranteed payment legally than theoretical payment illegally.

Out of curiosity, why are you not going through Odesk? Have you already selected a contractor?

@FlamingHairball - We initially went through Elance and the freelancer ended up blackmailing us for 5 star feedback before showing us the source code. So now we are in dispute and most likely have to go through Arbitration (have to pay $133!).

We have tried looking through oDesk & Freelancer as well, but found most contractors on these sites are not real full time programmers - most of them just re-skin existing apps or claim others work as their own. Maybe we just had bad luck with our first contract and our initial findings. Either way it has left a sour taste and we want to seek contractors through forums/job posting sites.