安装xCode 3.2.3 w / iPhone SDK 4,得到“Base SDK missing”,无法看到其他SDK [英] Install xCode 3.2.3 w/ iPhone SDK 4, get "Base SDK missing", can't see other SDKs

查看:101
本文介绍了安装xCode 3.2.3 w / iPhone SDK 4,得到“Base SDK missing”,无法看到其他SDK的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建了这个社区wiki,将我在这里看到的一些
其他Q / A绑定在一起。如果你在这里,你可能已经用iPhone SDK 4安装了Xcode 3.2.3的最终版本
(这个问题。



如果您对Xcode 3.2.4升级特别感兴趣,它有一个非常相关的问题,您可能想要赋予的回答



附录



还可以找到关于此主题的更多详细信息在问题的第一个答案中。 此处还提供了一些有用的信息。


I created this community wiki to bind together a number of other Q/A's I've seen here on SO. If you're here, you've probably installed the final version of Xcode 3.2.3 with iPhone SDK 4 (download link, reg reqd), and then encountered one or both of these problems:

  • In your previously working xCode iPhone project, you get "Base SDK Missing" somewhere. Something like this:

  • In a related but more general observation, none of the previously available panoply of Device or Simulator SDK choices (e.g. 3.0, 3.1, 3.1.3, ...) is available where you used to see them.

解决方案

Overview

I'm going to explain why this is going on, and then how fix the specific "Base SDK Missing" problem. You can skip to the bottom for just the fix, though I recommend reading all of this. I also recommend John Muchow's excellent take on this issue.

If you are specifically interested in the Xcode 3.2.4 upgrade, which has a strongly related problem, you might want to confer here.

One SDK to rule them all

Here's the deal: 4.0 is now the only SDK version allowed for submitting new or updated iPhone-only apps. This is direct from Apple's iOS 4 Readiness Checklist (reg reqd):

All new applications and updates to existing applications must be built with iPhone SDK 4. Please note, the App Store will no longer support applications that target iOS 2.x.

Presumably -- I'm guessing here -- iPad-only and universal apps should use the 3.2 SDK. That is why 4.0 & 3.2 are your only choices for SDKs.

That is also why your project is now broken, since the SDK it was previously mapped to is deprecated, gones-ville.

(But) 3 is a magic number

Relax. You can still target devices running iPhone OS 3.0 (but not lower). The SDK you use to compile does not limit -- downward -- what iOS version you can program to or support. Once you've patched things up in your project etc. (cf. next section) you can set "iPhone OS Deployment Target" to a lower iOS version. For a quick shot of how to do this, cf. step 7 in the next section.

Note that you are now entering some tricky terrain. Your usual Xcode 3.2.3 compiler will no longer be enforcing your compliance to 3.0-only calls, nor does it have a simulator for these. And if you want to support 4.0 features, you'll have to do some conditional code to prevent crashes on 3.0 devices. Fun.

You can still download (from Apple!) and install a previous Xcode version or SDK (cf. here). Yes, you can install multiple Xcode versions, in different directories, i.e. put only one version in /Developer. You can use the old Xcode to test your app's compliance vs. a 3.x SDK, moving the hard work to a fancy compiler, and simulator. But you can no longer use the products of the previous SDKs to submit to the app store.

FWIW, I plan on doing just this check before I ship.

What condition my condition is in

Matt Gallagher has a Cocoa with Love post on version conditional code entitled "Tips & Tricks for conditional iOS3, iOS3.2 and iOS4 code". If you are planning on conditionally using 4.0 features, this is a strong recommendation to check it out.

Fixing "Base SDK Missing"

  1. Load your project
  2. From the menu, select Project > Edit Project Settings...
  3. Under Architecture > Base SDK, choose one of the available device options: iPhone 3.2 or iPhone 4.0. If you are iPhone-only, 4.0 is the way to go.
  4. Close that window.
  5. From the menu, select Project > Edit Active Target "YourTarget"
  6. Under Architecture > Base SDK, choose one of the available device or simulator options: iPhone 3.2 or iPhone 4.0.
  7. If you want to target previous iOS versions, then in that same window, under Deployment > iPhone OS Deployment Target, select the lowest version you want to support. Note that support for 2.x versions through the app store is deprecated. See the "Readiness Checklist" quote above.

Base SDK location for Xcode 4 and above

Follow the steps above, but for Step #2, click the following:

  • Select the Project navigator using folder icon on the left of the navigator sidebar
  • Select the Project, which will be at the top of that view.
  • The project configuration will appear in the main editor panel; select "Build Settings" at the top and below will be the 'Architecture' section.

               

(This answer is a slightly-adapted version of Sherman Lo's answer )

Addendum

More detailed information on this topic can also be found in the first answer to this question. There's also some useful info here.

这篇关于安装xCode 3.2.3 w / iPhone SDK 4,得到“Base SDK missing”,无法看到其他SDK的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆