dpart
dpart

Reputation: 157

How can I open an Xcode project in an older version of Xcode?

I need to open an Xcode project in older Xcode version to build under the older SDK. What is deployment target option mean in "project settings". Does it mean that I can build my project on latest iOS 4.3 SDK for an iPhone OS 3 device? How about some functions in classes that dont support in older version of SDK?

Upvotes: 0

Views: 6619

Answers (3)

Papon Smc
Papon Smc

Reputation: 688

-> Right click on Xcode old version -> ShowPackage content enter image description here

-> Contents -> MacOS -> double click terminal Xcode enter image description here

Upvotes: 0

Moshe
Moshe

Reputation: 58067

Base SDK is the version of the iOS SDK API that your app is compiled with. This means that your app is being built with the libraries for that version of iOS. As Black Frog mentioned, you must use the latest SDK to get your app approved on the App Store.

Deployment Target is the minimum version of iOS on which your app will allow itself to run on. (The App Store prevents older vesions of iOS from installing apps with a Deployment Target that is newer than that version.)

If you wanted your app to use, say, Game Center (which requires iOS 4.1), and run on iOS 3.1.3 or higher, then you would use a Base SDK of 4.1 or higher and a Deployment Target of 3.1.3.

To deal with classes and methods that don't exist, you should check if they exist before using them. Here's a great blog post on managing different versions of iOS and different versions of the SDK.

All Xcode projects since 3.2 have had the same internal format. So, you should be able to open the Xcode project in the older Xcode. In Xcode 3, you can see the project format version in the "Get Info" of your project. (I haven't found this yet in Xcode 4.)

Upvotes: 3

Vincent Guerci
Vincent Guerci

Reputation: 14419

  1. Xcode v4 and v3 share the same project format, that should not be a problem to open it.
  2. Depending on your code, you will have to check it is working for the lower version SDK:

    1. Set your Build SDK and Deployment target in project
    2. Build & Check results that should warn/fail
    3. Make sure to check Apple documentations to see if you're not using not yet existing APIs.
    4. Do tests on a real device using that OS version... (very important!!)

If there is a magical way to check iOS compatibility not by hand like this, I'm interested :)

Upvotes: 2

Related Questions