Justin Galzic
Justin Galzic

Reputation: 3971

How to run apps on iPhone 3g after Xcode and SDK upgrade to latest

I upgraded to Xcode 3.2.3 with the latest iPhone SDK version 4 and I know that in order to publish in the App Store, your app has to be iOS (SDK 4) ready.

But many of my beta-testers (including myself) are still running OS 3.1.x (the last version) and may not upgrade to iOS4 because it slows down their phone to a crawl (mostly for those with 3G, not 3GS). I had initially upgraded to 4.0 too but it was so painful that I had to revert back to 3.1.x just so I could use my phone.

Is it possible to create builds of an app to run on the older OS with SDK 4? When I tried it myself, iTunes told me that my phone's OS is an older version and it won't run it.

In XCode, I only have two possible values for Base SDK - iPhone Device 3.2 and iPhone Device 4.0. When I tried changing the Base SDK to "iPhone Device 3.2", I got this build warning:

warning: building with 'Targeted Device Family' set to iPhone only ('1') not supported with SDK 'Device - iPhone OS 3.2'.

On my machine, under /Developer/Platforms/iPhoneOS.platform, I have two SDKs listed (which match the Base SDK options shown in XCode):

Developer/SDKS/iPhoneOS3.2.sdk
Developer/SDKS/iPhoneOS4.0.sdk

Under the DeviceSupport/ folder, I have the following versions:

3.0
3.1
3.1.2
3.1.3
3.2
4.0

Is it possible to create builds for my users running non-iOS4 versions or do I have to force them (as well as myself) to live with the slowness on the phones?

Upvotes: 3

Views: 1857

Answers (2)

Rab
Rab

Reputation: 2836

In the Project Info, under build: Just use "Base SDK" of 4.0 and "IPhone OS Deployment Target" of whatever oldest OS you want (3.0 for example is a good choice). Scroll down until you see "iPhone OS Deployment Target."

Upvotes: 2

BP.
BP.

Reputation: 10083

I have the latest Xcode as well, and with my Base SDK set to iPhone Device 4.0, and I am able to deploy to my iPod touch with 3.1.3 just fine. My Targeted Device Family is set to iPhone.

In this configuration, I have also deployed to iPad and iPod touch with OS 4.0 on it, without changing any settings. Just make sure that you have created a provisioning profile with your devices.

Upvotes: 1

Related Questions