views:

187

answers:

2

I installed the new GM iPhone sdk. When I try to compile against iOS 3.0, it claims that libraries are missing. What now? I think that I have the install DMG somewhere for 3.2.2, if that helps.

A: 

Do the following

  • sudo /Developer/Library/uninstall-devtools –mode=all (This will uninstall the current XCode installation)
  • Then install first old XCode (3.2 final) in default folder (/Developer)
  • Then install the new XCode (3.2.3 GM) in other folder (/DeveloperBeta)

This way you will have both. And can launch xcode from either /Developer/Applications/Xcode.app or /DeveloperBeta/Applications/Xcode.app

3.2.3 last beta did remove all other SDK's cause to many people tried to publish Apps developed with the beta SDK, which would not be accepted by Apple. With GM it will be the same

Allisone
The latest beta (GM) should be allowed to publish apps though, no?
Moshe
yes you're right. Got that message by apple too last night.Also now I think in my GM I have 3.2 next to 4.0. But still I myself need the 3.0 as well, so I have both XCodes
Allisone
+2  A: 

Always use the newest SDK available. There is little to be gained (and a lot you give up) by building against older SDKs. It limits both what APIs you can call and also prevents your code from taking advantage of the OS features on newer devices.

If you need to deploy on older OS versions, just set the Deployment Target to the earliest version you need to run on. You don't need its SDK.

cdespinosa
+1. This should be the accepted answer.
Abizern
that's interesting. But if I use Xcode GM and use the 4.0 SDK and use functions like MPMoviePlayerViewController which are not available on 3.0. Will it inform me that I can't use it ? Or can I ? How to handle that incompatibly problem downwoards. I can't expect my customors to always update there iOS.
Allisone
@Abizern - the other answer was posted first and Allisone raises a good point. Besides, when I try to do set the deployment target, it only allows3.2 or 4.0.
Moshe