Will Three20 be flagged as “private framework”?

Three20I used the open sourced Three20 iPhone UI library for a recent project. It’s a bit heavy duty if you just need one of the nice UI thingies that is in Three20.  In my case, I want to reuse the photo viewer in a client’s project.  I spent almost a whole day trying to understand how Three20 works and how to adapt some part of it, but it is worth it. For example, the photo viewer is designed to take over the entire phone screen.  But our UI design requires that we keep the Navigation Bar on top visible for context.  With the client’s approval, I incorporated a modified Three20 library in the project and delivered the iPhone app prototype within a week.  I came through like a superhero even though I’m just standing on the shoulder of giants.

What’s nagging me in the back of my mind is the possibility that Apple App Review will reject the application because it uses a “private framework.”  I’ve advised my client of that and they are fully aware of the risk.  However, given the way Apple works, the only way to find out is to finish the app and submit it.

Right after submission, I came across some chatter about Apple rejected an app because it uses Three20.  Specifically, it is about a private API called simulateTapAtPoint:. Joe Hewitt was contacted by Apple and Apple explained why.  There is a suggested fix of commenting out some of the offending code with #ifdef DEBUG to make Three20 kosher for Apple App Review.

Some stories have happy endings after all.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: