how to change the base sdk to 3.0 - iphone

I developed a project for the base sdk 3.0 and now I have installed xcode3.2.3. Now when I am trying to build my project it says missing sdk 3.0. And when I am trying to set the base sdk from the project settings there is no 3.0 sdk available in the list. Only 4.0 is available. So my question is how can I add 3.0 sdk in the new xcode version?
Thanks in advance.

You can't do that with new XCode, but you can build with 4.0 as Base SDK and set "iPhone OS deployment target" in your target settings to the lowest OS version you want to support.

Related

Does Xcode 4.0.2 supports deployment target 3.0

I am going to upgrade Xcode 3.2.5 to Xcode 4.0.2 so do this new version supports deployment target 3.0
Yes, you can still set the deployment target to iOS 3.0 with Xcode 4.0.2 but you have to use the iOS 4.3 SDK as the base SDK. It is the only supported option for the base SDK.
If going from the accepted answer here:
How can I build in XCode 4, for an iOS 3.1 deployment target, using libSystem.B?
as well as the wikipedia page:
Xcode 4.0 drops support for many older
systems, including all PowerPC
development as well as SDKs for 10.4
and 10.5, and all iOS SDKs older than
4.3. The deployment target can still be set to produce binaries for those
older platforms, however for Mac OS X
applications only x86 and x86_64
binaries can be produced.
yes, you can target iOS 3.0 using XCode 4 (but I have no idea how you do that)
Edit: I found this on a forum, it should let you target iOS 3.0
In your X-Code project, select Edit project settings inside the "Project"
sub-menu.
Once there, click the Build tab.
Make sure you select All configurations in the "Configuration"
option.
In the Base SDK option select iPhone Device 4.0
Search for the iPhone OS Desployment Target and select iPhone OS 3.0
http://www.iphonedevsdk.com/forum/iphone-sdk-development/53167-compile-ios-3-0-using-xcode-4-a.html#post221406

Xcode SDK IOS 4.2 installation and missing iOS 4.1 in build settings

i have download Xcode SDK 4.2(xcode_3.2.5_and_ios_sdk_4.2_final.dmg) from Apple developer site and installed successfully . when open my old xcode project it shows baseSDk missing ,when i try to change project setting ,i have found and set base SDk as 4.2 it works fine
my problem is ,in Base SDk list it shows
(iOS 2.1, iOS 2.2, iOS 2.2.1, iOS 3.0, iOS 3.1, iOS 3.1.2, iOS 3.1.3, iOS 4.2)
There is no iOS 4.0 and iOS 4.1 (which i have used before 4.2). anything wrong in my installation???? Plz help me to correct my mistake
Thanks in advance
This does happen. I generally just use the latest SDK as base SDK. You support the latest version and forget abt the older versions[apple style]. This way your app can take advantage of all the latest functionality.
One thing you must remember is that the Base SDK is different from the deployment target.
base SDK is the latest SDK your project will use and support.
deployment target is found in target->getInfo; this is the minimum version that your app will support.
4.2 is a free upgrade and most of them would upgrade, so i'd set the deployment target as 4.0 or at the least 3.0. who uses 2.x anymore?
if you really want 4.0 and 4.1 as well, you have to install the old 4.1 GM as a parallel Xcode IDE or follow this link and get support for all the versions in a single XCode IDE.
http://chris-fletcher.com/2010/08/28/howto-install-iphone-sdk-2-0-3-1-for-xcode-3-2/
I'd suggest building using 4.2 but follow the link and install all the simulator SDKs for old versions so that you can test the app on those versions of the simulator.
Nothing went wrong here. That's how Apple forces the developers to always use the latest SDK to develop.

Which iPhone SDK should I use?

I have little knowledge about how to make application to compatible to a device.
I have iPhone SDK 4.0 and want my app to run on iOS 2.0 or later.
I have read that set only the iPhone OS Deployment Target to 2.0 and use only those API methods which are common after 2.0.
Is it enough?
or do I have to use another (lower) SDK?
or do I have to do something more...?
You should always be developing with the latest SDK. You can set this in your project's properties under "Base SDK" in the "Architectures" section of your project's settings (right click on the project in the organizer, and go to "Get Info").
However, to make sure that your app runs on older devices, you would do this by setting the "iOS Deployment Target" to iOS 3.0 under the "Deployment" section of the project's settings.
For the record, I said version 3.0 above because that's the lowest possible supported version that I see in my Xcode. I don't think it's possible to target 2.0 devices anymore.
The newest Sdk. Apple may not accept the Sdk create by old Sdk.
You can target your min required version os for your App even you are using latest version Sdk.

Upgrading iOS SDK

I've XCode 3.2.3 with iOS SDK 4 installed in my iMac. I bought an iPhone 4 with OS version 4.0.2 and I would like to use that device for development. However the Organizer shows the message below when the device is connected.
The version of iPhone OS on “iPhone 4G” does not match any of the versions of iPhone OS supported for development with this installation of the iPhone SDK. Please restore the device to a version of the OS listed below, or update to the latest version of the iPhone SDK.
Currently my XCode supports Base SDK from 3.0 to 4.0.1.
So if I download the latest XCode 3.2.4 with iOS SDk 4.1, will I still have Base SDK support from 3.0 ?
Cheers
Jugs
No, XCode 3.2.4 does not come with SDK 3.0, it comes with SDK 3.2 and 4.1. But you don't need the 3.0 SDK to write apps that will run on 3.0.
There are two versions that are important to you as an iOS developer, and you need to understand them: first, there's SDK version that you link to, this is the Base SDK. It should normally be set to the newest SDK available.
And then, there's the Deployment Target. That is the earliest version your app needs to run on. This is the one you are actually caring about, this one ensures that your app will still run on earlier iOS devices.
To set that, go to "Project -> Edit Active Target". In the dialog, select the "Build" tab, make sure "Show" is set to "All Settings" and the type "deploy" in the search field. Scroll down to the "Deployment" section, the last entry should be "iOS Deployment Target". You need to set this to "iOS 3.0" or whatever suits you. You should now get warnings if you use methods or classes that are not available on 3.0.

Old projects are not running in new iPhone SDK 4.0

I have a UICatlog project downloaded from apple development library. It was running fine with 3.0 Base SDK, but when I upgrade xCode SDK Version 3.2.3. I am getting an error:
error: There is no SDK with the name or path 'iphoneos3.0'
What do I do?
Change the Base SDK setting in the Project Info to iPhone Device 4.0.
Check that you aren't changing the Base SDK for the project and not the current target. The current target base SDK setting will override the project settings. Also, if you wan't to support older platform versions, make sure you set Deployment target appropriately.