Remember why people are hiring you: to make problems go away. People hire contractors (and pay them a lot) because they want work completed, without the drama of an employee. Every email you send, ever line of code you write, make sure you're thinking about "how can I make fewer problems, not more"?
Freelancing is less about the work, and more about the presentation. Doesn't matter how good your code is if you don't answer emails within an hour, send professional invoices on time, and hit deadlines. If being over-communicative doesn't come natural to you, I'd consider finding someone who is good at it and giving them 10-20%. (It'll be well worth it in the end)
Specialize in something people need, and have a good, simple website for it. You aren't "generic iOS" dev, you're now "iOS animations" or "integrate awesome metrics into your iOS" or "upgrade to the newest version of iOS" dev.
Work with other freelancers, especially with other competencies. It doesn't have to be a formal "company", but you get to share your network and fill in skill gaps. "Oh, you need an illustrator? My friend Tom is awesome, he can do that for you."
Cut ties with bad clients ASAP. There's so many great clients out there, and bad ones will suck up all your time and energy.
Understand why you're doing this. Wanting to make lots of money, wanting to work less, trying new technologies, wanting to finance a startup... all valid, but optimize for what you want out of this.
I'd aim for $120/hr at first. You need to get your foot in the door at some great companies. You can always say you charge $200, but give a discount "because you really like them". Then slowly raise as time goes on. The more work you get, the easier future work is (due to referrals). I know everyone says charge more, and I agree eventually, but early on I think building up a strong network is even more important. It'll lead to higher rates (from other companies) as time goes on.
Charge by the day, not per hour.