Apple requires iPhone OS 3.0 support for all new mobile apps
Starting Thursday, iPhone app developers will have no choice but to test against iPhone OS 3.0 if they want to guarantee their places in the App Store, and have been warned their existing apps may be pulled if support breaks.
The release of iPhone OS 3.0 beta 5 has been accompanied by an e-mail notice to all registered developers that their code "must be compatible" with 3.0 from here on out if they expect the software to be published. While Apple believes many current apps will run without a hitch, it cautions bluntly that programmers shouldn't assume apps built for 2.x will carry over smoothly.
"If your app submission is not compatible with iPhone OS 3.0, it will not be approved," the message reads. "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."
Apple doesn't indicate whether submissions will have to be complied using the 3.0 version of the iPhone software developer kit or if it only requires that apps be tested using a 3.0 emulator or device.
The requirement illustrates, for the first time, Apple's approach to major mobile OS updates for third-party developers. At its iPhone OS 3.0 preview event, Apple had said it would greatly expand the number of APIs for developers to use but didn't say how well it expected 2.0 apps to carry over with all the changes made to the platform; the new update indicates that Apple intends to maintain compatibility but that it also expects everyone to be on the same footing by the time the public can upgrade to 3.0. Apple portrays it less as a request of its own and more as a reality of the market, where many will apply the update as quickly as possible and expect their current apps to run.
"Millions of iPhone and iPod touch customers will move to iPhone OS 3.0 this summer," the company reminds developers.
The release of iPhone OS 3.0 beta 5 has been accompanied by an e-mail notice to all registered developers that their code "must be compatible" with 3.0 from here on out if they expect the software to be published. While Apple believes many current apps will run without a hitch, it cautions bluntly that programmers shouldn't assume apps built for 2.x will carry over smoothly.
"If your app submission is not compatible with iPhone OS 3.0, it will not be approved," the message reads. "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."
Apple doesn't indicate whether submissions will have to be complied using the 3.0 version of the iPhone software developer kit or if it only requires that apps be tested using a 3.0 emulator or device.
The requirement illustrates, for the first time, Apple's approach to major mobile OS updates for third-party developers. At its iPhone OS 3.0 preview event, Apple had said it would greatly expand the number of APIs for developers to use but didn't say how well it expected 2.0 apps to carry over with all the changes made to the platform; the new update indicates that Apple intends to maintain compatibility but that it also expects everyone to be on the same footing by the time the public can upgrade to 3.0. Apple portrays it less as a request of its own and more as a reality of the market, where many will apply the update as quickly as possible and expect their current apps to run.
"Millions of iPhone and iPod touch customers will move to iPhone OS 3.0 this summer," the company reminds developers.
Comments
The notice says that existing apps "should" work with 3.0, but they just want you to test it to make sure. I would be very surprise if Apple broke any of the 2.x API's with the 3.0 version. It seems that they usually just add classes and methods in these updates.
It also seems that if you have an existing app, you will be OK until the 3.0 software is released. If you hadn't tested and for some strange reason your app broke in the 2->3 transition, you would THEN be SOL.
Kind of a dramatic headline and shrill story for such an ordinary policy.
This is kind of a non-story, isn't it?
The notice says that existing apps "should" work with 3.0, but they just want you to test it to make sure. I would be very surprise if Apple broke any of the 2.x API's with the 3.0 version. It seems that they usually just add classes and methods in these updates.
It also seems that if you have an existing app, you will be OK until the 3.0 software is released. If you hadn't tested and for some strange reason your app broke in the 2->3 transition, you would THEN be SOL.
Kind of a dramatic headline and shrill story for such an ordinary policy.
They're just echoing a message Apple sent out to registered developers today.
And while Apple has tried not to break anything, there's always hidden assumptions somewhere in the code that may change. And if the software was buggy but just happened to work because of some peculiarity of 2.x it could easily break in 3.x.
Anyway, I applaud any attempt Apple makes to make things more explicit.
The main problem I have is that testing an app on hardware requires having 3.0 on your iPhone/iPod Touch. Most "little guys" don't have multiple units lying around for testing, since Apple has said not to install the beta firmware on your primary device. This leads me to believe that the firmware needs to come out sooner rather than later, because it puts a developer in limbo if they want to test their apps for 3.0, but want to keep a stable iPhone OS on their phone for typical usage.
I don't get how if you are building software you did not factor in OS upgrades into your plan. Not to sound mean, but this problem is going to reoccur on a regular basis. You need to plan an extra device into your development budget. The user community will eat you alive if on the day of Apple's release of 3.0 the software you built fails because you were trying to save a couple hundred bucks and never tested against 3.0.
Likely this is to force people to update their phones. Their have been stories about a large number of iPhone users scattered across all update points.
I agree. My guess is that Apple is going to be very aggressive about getting every iPhone to upgrade to version 3. For example it might constantly suggest an update every time you sync with iTunes.
Why? My guess is that version 3 will add code that they hope makes it very hard indeed to jailbreak phones. Why? Not because it wants to keep rogue apps that would not otherwise get approved in the App Store from getting on phones, but to keep pirated App Store apps from getting on them.
I have three apps in the store, all have been cracked and pirated. All the significant apps have. Apple won't be doing this so much for me as for the BIG publishers, the game publishers, the ones spending huge bucks to get major apps into the store. I'm guessing we will see major commercial apps on the phone at major prices later this year. (Like $39 games and $99 navigation apps.) Those are the ones they want to keep from being pirated. And to put a pirate app on a phone, you have to jailbreak it.
Why? My guess is that version 3 will add code that they hope makes it very hard indeed to jailbreak phones.
Too Late. iPhone OS 3.0 has already been jailbroken. The jailbreak methods being used are at the hardware level. Until the vulnerabilities are addressed in new hardware there will always be jailbroken iPhones.
I don't disapprove of jailbreaking. However, I'm all for doing anything reasonable to prevent pirating of apps.
They're just echoing a message Apple sent out to registered developers today.
And while Apple has tried not to break anything, there's always hidden assumptions somewhere in the code that may change. And if the software was buggy but just happened to work because of some peculiarity of 2.x it could easily break in 3.x.
Anyway, I applaud any attempt Apple makes to make things more explicit.
I have many 3rd-party apps that won't work with v3.0. I believe the reason is for the apps I have are developers using alternative coding methods, not Apple's APIs, to help make their apps more responsive.
I have many 3rd-party apps that won't work with v3.0. I believe the reason is for the apps I have are developers using alternative coding methods, not Apple's APIs, to help make their apps more responsive.
Do you have any examples of those API's? That seems like something that would be caught at Apples scan of the app.
Do you have any examples of those API's? That seems like something that would be caught at Apples scan of the app.
No, just speculation, from reading recently about one such developer who had to use unique ways to make his app more responsive on the iPhone. I am not sure what exactly was involved. The app is Now Playing, my preferred movie app. I'm using Showtime in the interim. Dictionary.com's app won't work either. I can't recall other off the top of my head.
The thing that sucks about this is as a developer once you upgrade to 3.0 you can't use the same build environment to update your 2.x code. This means you have to have 2 separate Xcode environments or separate machines, as well as two separate phones/ipod. Not really ideal.
I'd think that 3.0 is backwards compatible with 2.0, but these things do need to be verified, so it does suck for the developer. They can't even use the lengthy workaround of reinstalling the different OSes.
It also forces user to upgrade. No more zillion different versions of iPhoneOS to support.
Unfortunately the 3.0 SDK is able to build for 2.2.1 but it's runtime compilers are not production quailty and still have bugs as they're trying to make them more efficient.
I don't get how if you are building software you did not factor in OS upgrades into your plan. Not to sound mean, but this problem is going to reoccur on a regular basis. You need to plan an extra device into your development budget. The user community will eat you alive if on the day of Apple's release of 3.0 the software you built fails because you were trying to save a couple hundred bucks and never tested against 3.0.
+1 What he said.
Too Late. iPhone OS 3.0 has already been jailbroken. The jailbreak methods being used are at the hardware level. Until the vulnerabilities are addressed in new hardware there will always be jailbroken iPhones.
I don't disapprove of jailbreaking. However, I'm all for doing anything reasonable to prevent pirating of apps.
I read somewhere that Apple is addressing the hardware in the next version of the phone for the reasons listed above. I guess it's possible that a different vulnerability could be found at that time, but who knows.
The thing that sucks about this is as a developer once you upgrade to 3.0 you can't use the same build environment to update your 2.x code. This means you have to have 2 separate Xcode environments or separate machines, as well as two separate phones/ipod. Not really ideal.
Or partition your drive and install a second development environment.
Or install your development environment on an external hard drive.