Developer Page

From Iphone
Jump to: navigation, search

DRAFT

Some resources for developers making their living developing for iPhone-OS.


Source code


gdb and other debugging tricks

  • When you catch a zombie string, type
 x/10s 0xNNNNN

into the console, where: NNNNN is the address of the offending object. This will interpret the first 10 addresses as C-string pointers and print them. For NSStrings, the fourth one is usually what it contained.


FAQ

I can't get code signing to work, what's up with that?

Code signing is not technically difficult, but it is an involved, detailed process that is extremely fragile. Every detail must be followed exactly, without skipping or adding steps. The instructions on the developer site are pretty thorough, but do not skim!

  • One common mistake I've seen is: sometimes you are instructed to set the project build-settings, and sometimes the target build-settings; if you miss this distinction, your code-signing will not work.
  • The guys at bikle.com did a very nice write-up, with pictures of the process.


What's it like being an iPhone developer?

It's a complicated question, with many implications. Here are a few points.

  • iPhone is easy & fun to develop for.
    • It's a "sexy" platform, and the SDK makes it fairly simple to do some really cool things.
    • Apple's processes are a bit cumbersome but, overall, it's one of the more enjoyable development platforms I've used over the decades.
  • You probably won't get rich with your "brilliant idea."
    • As of this writing (Feb, 2010), there are 150,000+ apps in the store and that number is growing fast.
    • Only 50 of them are in the top 50. That's 1 out of every 3,000 apps.
      • The #50 guy is doing ok, but he's not "raking it in" like the #1 guy.
      • Check out MobClix -- how long has the #1 guy been there? How long was the previous #1 guy there, before he got bumped?
    • Of the apps in the store, maybe 10 of them are "I started with nothing, had and idea, whipped up something in a week and now I'm so rich I can quit my day job" stories. That's 1 in about 15,000. And most of those people will tell you that it was luck. It's probably best not to quit your day-job just yet.
    • I explain it to people like this: it's about the same as if you were to get an electric guitar, start a band and tell your friends "I'm going to be a famous rock star." As business-plans go, your odds are probably better with the guitar.
    • For a counter example, check out Pocket God. Those guys have been in the top-10 forever. Their secret? They release new features EVERY SINGLE WEEK! It's a lot of hard work. Plus, the game is fun. So it can be done, but you should probably keep your day-job, until you get a little buffer in the bank and can predict your revenue future for a while...
  • Lately, I mostly do contract programming for other people. Contracting iPhone development is a lot of fun.
    • You meet interesting people, work on fun projects, and things are always changing.
    • It's also hard work. You have to drum up new business. Customers change their minds or aren't sure what they want. Maybe they'll be disappointed because that app you wrote for them that's exactly what they wanted or didn't sell as well as they'd hoped, even though you suggested that it might require some additional marketing. Etc.
    • Still, the pay is decent, and the working conditions are nice...


While I would like to report that it's mostly like this:

YourMoney.jpg

In actuality, most days are more like this:

ManualLabor.png

Still, I manage to enjoy it.  :)


What is your take on the current iPhone market?

My assessment of the current market conditions is that there will always be work for smart and careful developers who get things done. Even when everyone is talking about recessions and layoffs and unemployment, I have more work than I can handle. I believe this is true during almost all times, in almost all places.


Are you a single person or do you have a team?

I am the sole proprietor of my company, but sub-contract to several others as project-needs arise. More about me here, and about ManyFriends.com here.


What do you feel is a sustainable billing rate?

I feel that our hourly rate is fair -- quite reasonable, actually -- for the service we offer. However -- and this is VERY IMPORTANT -- there are people that I would pay twice that much to work for me, and there are people that I would not pay half that much for their work. I cannot tell you whether you are a $25/hr developer or a $250/hr developer -- you have to determine that for yourself, and the decision should be based on an honest assessment of the value you bring to your clients, not what you wish you could make.


What about overseas competition?

So far, overseas competition and other under-cutting has not been a problem for ManyFriends.com. I believe that there is plenty of work for all of us, and some people will offer a $40/hr value to their clients and do business there, while others will offer a $200/hr value to their clients and make business there. I am in between these two groups and, again, I feel that our rate is quite reasonable and provides both a living wage for myself and good value for my clients.


Will you recommend me? If you get too much work, will you pass some my way?

While I am certain that you are a stand-up person and a truly remarkable individual, I cannot in good conscience offer a recommendation of someone with whose abilities, reliability, quality of work, etc., am am not familiar. I hope you will understand that it would be irresponsible of me to tell a client in a professional capacity "I'm quite busy now, but you should try this complete stranger who sent me an email after meeting me for 5 minutes at a public meetup." It's not personal; it's just how I run my business.