The iPhone 3.0 Beta SDK & OS announcement left many practical questions unanswered, and I will try to answer some of these questions here.
Availability
The iPhone 3.0 Beta SDK & OS are only available to paid, registered iPhone developers. Even if you were to get your hands on a copy by other (illegal) means, you still wouldn’t be able to use the 3.0 OS, because it requires activation through the developer portal.
The 3.0 SDK, on the other hand, can be used by anyone, but I don’t think there’s a registered developer stupid enough to risk his agreement with Apple.
Moral of the story: there’s a reason why it’s called a beta. Wait till June if you’re not a developer.
Downgrading
Once you upgrade to the 3.0 OS, there’s no going back to 2.x. There are people who claim to have downgraded their iPhones to 2.x using the DFU mode, but I can’t confirm this (and it’s definitely not approved by Apple).
Dedicated Computer
John Gruber and others have wondered if the 3.0 SDK must be installed on a separate computer if one wants to continue developing applications for 2.x. This is simply not true, as I have tested and confirmed. You can develop applications for 2.x and 3.0 on the same machine.
Installing the 3.0 SDK in a separate location is an option, but definitely not necessary.
If you have any questions regarding the iPhone 3.0 Beta SDK or OS, don’t hesitate to ask them in the comments and I’ll try and answer them as best as the NDA allows me.
Thanks for the comment on SO. I think you’re confusing what is possible and what is wise.
Of course you can build 2.x apps with the 3.0 SDK but, it is a beta dev kit and, Apple explicitly advise you not to do this.
Far safer to heed their advice, install two SDKs and build with a release SDK for release code and a beta SDK for internal testing.
Roger Nolan on March 26, 2009 at 23:22If you pick the 2.x SDK in the project settings, you *should* be building with the 2.x SDK, not 3.0.
cbg on March 26, 2009 at 23:43…with the 3.0 beta tools. It’s trivially possible but not worth the risk. In my view anyway – you are of course welcome to – or maybe you know more about the compiler, linker, code signing, PNG compression etc tools in the 3.0 SDK. If you do, that would make a more intersting post to your blog.
Roger Nolan on March 27, 2009 at 01:23Actually I don’t, not yet anyway, but it certainly sounds intriguing.
cbg on March 27, 2009 at 01:25A quick update: manual inspection of the ARM executable produced by Xcode reveals no reference to the 3.0 SDK. There are, however, references to the 2.0 SDK, which I built my application against.
cbg on March 27, 2009 at 02:06you need to do a binary compare – particularly of the CODE sections but also all the resources etc. to see if the actual code they are producing is the same output, not just if they refer to the SDK. I’d be worried about bug in the compiler etc. You need to be sure that the executable produced by running a 2.2 build in the 3.0 SDK is the same as building a 2.2 build from the 2.2 SDK.
It would be interesting to understand what Apple are changing but, from a SW dev process, again, I’m not sure it’s worth the risk and effort.
Roger Nolan on March 27, 2009 at 08:21