3.0 Release Approaching?

By
On May 7, 2009

Today, Apple emailed developers informing them that, henceforth, all apps will be reviewed for 3.0 compatibility. Said Apple:

Beginning today, all submissions to the App Store will be reviewed on the latest beta of iPhone OS 3.0. If your app submission is not compatible with iPhone OS 3.0, it will not be approved.

Apple’s beta-release cycle has been tightening. Two weeks separated the first three betas, but the most recent beta and its predecessor were separated by a bit more than a week.

Today’s announcement, paired with this increasing SDK beta momentum, has led to speculation of an early summer launch. What’s more, Palm’s Pre launch is rumored to be around June-7. A concurrent 3.0 launch could take some of the wind from Palm’s, uh, fronds.

More On 3.0 Compatibility/SDK Choice

Also in Apple’s email:

Existing apps in the App Store should already run on iPhone OS 3.0 without modification, but you should test your existing apps with iPhone OS 3.0 to ensure there are no compatibility issues. After iPhone OS 3.0 becomes available to customers, any app that is incompatible with iPhone OS 3.0 may be removed from the App Store.

Short of letting an app slip through that uses a private (and thus subject to change) API, I’m not sure what would cause an 2.X compatible app to be incompatible with 3.0. I’d be interested in hearing from you on this one.

Finally, this announcement has caused some confusion in forums and on lists, with some people suggesting that 2.X apps should now be built from the 3.0 betas. A close read of the announcement and the Apple’s iPhone Dev Center confirms that Apple’s policy of not approving version 2.X apps created using the 3.0 betas has not changed. So stick with the 2.2.1 SDK for those.

0 responses to “3.0 Release Approaching?”

  1. Tim Haines says:

    So Apple’s saying if you want to submit apps or updates at the moment (or keep your apps on the store even – if you’re going to ensure your apps work), you MUST have two copies of xCode installed.

  2. No, Tim, they are not saying that. Xcode supports multiple SDKs, one per OS version, you choose the one to build your app against. So if you want to submit an app today, install the latest Xcode, build against the 2.2 SDK, and test your app on a device running 3.0 to make sure it runs OK. Very reasonable.

  3. mikkel says:

    I had an app break on 3.0

    I used this tutorial https://blog.atrexis.com/index.cfm/2008/5/16/Using-the-UISearchBar-to-filter-a-TableView-on-Keypress

    where the following line broke the app on 3.0
    ((UITextField *)[(NSArray *)[_txtUsername subviews] objectAtIndex:0]).delegate = self;

    the line assumes that subview 0 is a uitextfield, this is not the case on 3.0, an basically a stupi assumption to make 😉

  4. Peter Ickle says:

    It’s that a bit contradictory? They said they won’t approve apps made with 3.0 beta but now they say you have to work on 3.0 beta.

    “What’s the problem?”, you say.

    Well the problem is you can’t uninstall 3.0 beta so if you installed it on your only phone you can no longer develop 2.0 apps that can be sold in the Apple Store.

  5. mikkel says:

    #Peter, you can have both sdk installed at the same time.

    I have sdk 3.0 in /Developer3 an the ol in /Developer

    No sweat!

  6. MS says:

    I’ve had two Xcode versions installed since the day SDK 3.0 came out, just out of curiosity for trying things out. It’s not difficult to do anyway. The solution is on the lines of using two installs under /Developer and /Developer-2.2.1 etc.

    But it’s very useful to get this other clarification here that I still need to compile and submit using SDK 2.2.1. I was confused about that yesterday. It’s the safe option though anyway.

  7. MS says:

    @Benjamin Ragheb: That is what I thought before too. For submitting apps to the appstore right now, using latest Xcode with SDK 2.2.1 is not the right thing to do. You still need to keep the new beta SDK/Xcode separte. So, you need two Xcode installs.

  8. rr says:

    @ mikkel: I’ve used the same tutorial for the searchBar and now I’ve have a crash in my app running OS 3.0.

    I’ve noticed that changing 0 by 1:

    ((UITextField *)[(NSArray *)[_txtUsername subviews] objectAtIndex:1]).delegate = self;

    works on 3.0 but crash on 2.2…
    What I’ve have to do? Submit the new version or leave the old one?