iPhone 3.0 beta SDK clarifications

I have some questions regarding the 3.0 beta and Unity, maybe somebody have tried and asked. Since this is a one way street, you have to make sure how crippled you will be.

  • If you upgrade to 3.0 apps on you phone. Can it still play 2.2 apps?

  • Can you have the 3.0 and 2.2 SDK on the same machine and choose which to make apps for with Unity (or more probably XCode), in effect creating 2.2 apps even if you have a 3.0 phone?

I have upgraded one of my devices to 3.0 beta 2, and up till now it works fine for me as a regular device (some bugs and slowness). However, since the upgrade I cannot use if for development anymore because I chose not to install the 3.0 development libraries, and the phone is not recognized as a valid development device anymore by Xcode 3.1.2.

Also the iPhone with the 3.0 beta 2 OS has a lot of problems with unity games, crashes, wrongly positioned graphics, you name it. This was one of the reasons to upgrade to 3.0 beta so I could take a look at the problems. Other games and apps work a lot better.

It is possible to install xcode in a separate folder on your computer, but I think you should be very careful doing this if you have one computer that you rely on for active development.

If you have sufficient iPhones or iPod touches lying around with the 2.2 OS or older that you can use for day-to-day development and testing you can upgrade one of them relatively risk free to 3.0.
If you have only one or two devices you rely on, I’d say stay away and wait for the final release of 3.0.

gr.jakko

I was going to post a message about how Unity won’t build to an iPhone 3.0, because I had tried it, and it failed during the XCode stage. But reading the exchange here made me think to try something…

It turns out that the project was going into XCode as a Simulator 2.0 one, so once it failed I just changed the setting to Device 2.2.1 | Release instead, and told it to build and run. And amazingly it built and ran ok!

The scene was just a few rotating boxes, but they are textured with an image from a web cam, and that too worked. My XCode is up to date, with the beta 2 of the iPhone 3.0 release, as is my iPhone.

As for 3.0 itself, it works pretty well. There are a couple of things that don’t work, like I can’t connect to YouTube, but overall it’s nice. The beta 2 build is less stable than beta 1 was on one of my most played games (MotionX Poker Quest), but overall I can’t complain, especially as it turns out that I can still build Unity apps to it!

OK Colin, so what you essentially is saying is that as long as you make sure that you build for device 2.2.1 in XCode, things will probably be working relatively fine?

They even work if you set it to 3.0, but you are forced to manually alter the framework references, which is a bit painfull.

Now that Apple has sent out the email saying you must build against OS 3.0 Beta5, what’s the plan from Unity going forward? Does the latest version of Unity work out of the box with OS 3.0? Do I need to mess around with the Trampoline?

Re-read the email. It says you must TEST against 3.0, not BUILD against 3.0. You can still build against 2.0 – Apple just expects those apps to run fine on 3.0 devices.

did not get such a message so it seems to be a US only requirement.

And yes, you need to mess around with the trampoline yes, its bound against the 2.x OS framework

To clear up my question, bilprob and dreamora are both correct. I don’t need to build against 3.0, but just test on a 3.0 device.

If I wanted to build against 3.0 today, I’d need to play with the xcode project that gets created.