安装xCode 3.2.3 w / iPhone SDK 4,得到“Base SDK missing”,看不到其他SDK

我创build了这个社区wiki,把我在这里看到的其他几个Q / A绑定在一起。 如果你在这里,你可能已经安装了最终版本的Xcode 3.2.3与iPhone SDK 4( 下载链接 ,reg reqd),然后遇到以下一个或两个问题:

  • 在以前正在运行的xCode iPhone项目中,某处会出现“Base SDK Missing”(基本SDK缺失)。 像这样的东西:

    RUH-ROH!

  • 在一个相关的,但更一般的观察,以前没有可用的设备或模拟器SDK的select(例如3.0,3.1,3.1.3,…)可用,你曾经看到他们。

概观

我要解释为什么会这样,然后如何解决特定的“基本SDK缺失”问题。 你可以跳到底部只是修复,但我build议阅读所有这一切。 我也推荐John Muchow在这个问题上的出色performance。

如果您对Xcode 3.2.4升级有特别的兴趣,这个升级有一个强烈的相关问题,那么您可能需要在这里进行说明 。

一个SDK来统治他们

这是交易:4.0现在是唯一的SDK版本允许提交新的或更新的iPhone只有应用程序。 这是直接从苹果的iOS 4准备清单 (reg reqd):

现有应用程序的所有新应用程序和更新都必须使用iPhone SDK 4构build。请注意,App Store将不再支持以iOS 2.x为目标的应用程序。

据推测 – 我猜在这里 – 仅iPad和通用应用程序应该使用3.2 SDK。 就是为什么4.0和3.2是您唯一的SDK的select。

这也是为什么你的项目现在被打破,因为它以前被映射到的SDK已被弃用 ,gones-ville。

(但是)3是一个神奇的数字

放松。 您仍可以定位运行iPhone OS 3.0(但不低于)的设备。 您用于编译的SDK不会限制 – 向下 – 您可以编程或支持的iOS版本。 一旦你在项目中修补了一些东西(参见下一节),你可以将“iPhone操作系统部署目标”设置为较低的iOS版本。 为了快速拍摄如何做到这一点,比较。 下一节中的第7步。

请注意,您现在正在进入一些棘手的地形。 你通常使用的Xcode 3.2.3编译器将不再强制你只遵从3.0调用,也没有这个模拟器。 如果你想支持4.0的function,你将不得不做一些有条件的代码来防止3.0设备上的崩溃。 乐趣。

你仍然可以下载(从苹果!),并安装以前的Xcode版本或SDK(参见这里 )。 是的,您可以在不同的目录下安装多个Xcode版本,即只在/ Developer中放入一个版本。 您可以使用旧的Xcode来testing您的应用程序的兼容性与3.x SDK,将艰苦的工作转移到一个奇特的编译器和模拟器。 但是,您不能再使用以前SDK的产品提交到app store。

FWIW,我打算在出货之前做这个检查。

我的病情处于什么状态

Matt Gallagher在版本条件代码“适用于条件iOS3,iOS3.2和iOS4代码的提示和技巧”中有一个Cocoa with Love的post。 如果您打算有条件地使用4.0function,则强烈build议您检查一下。

修复“基础SDK缺失”

  1. 加载你的项目
  2. 从菜单中select项目>编辑项目设置…
  3. 在架构>基础SDK下,select一个可用的设备选项:iPhone 3.2或iPhone 4.0。 如果你只是iPhone,4.0是要走的路。
  4. closures那个窗口。
  5. 从菜单中select项目>编辑活动目标“YourTarget”
  6. 在Architecture> Base SDK下,select一个可用的设备或模拟器选项:iPhone 3.2或iPhone 4.0。
  7. 如果要定位以前的iOS版本,请在同一个窗口的“部署> iPhone操作系统部署目标”下select您要支持的最低版本。 请注意,不支持通过app store的2.x版本。 请参阅上面的“准备就绪清单”报价。

Xcode 4及更高版本的基本SDK位置

按照上面的步骤,但是对于步骤#2,单击下面的:

  • select导航器侧边栏左侧的文件夹图标项目导航器
  • select该项目,该项目将位于该视图的顶部。
  • 项目configuration将显示在主编辑器面板中; 在上方和下方select“构build设置”将是“架构”部分。

项目导航构建设置

(这个答案是谢尔曼·卢的答案略有改动)

附录

关于这个话题的更详细的信息也可以在这个问题的第一个答案中find。 这里还有一些有用的信息。

如果你修复了你的设置,但仍然看到“Base SDK Missing”并且无法构build,请重新加载你的项目。 我退出Xcode,但closures和重新开放也可能工作。

由Clay Bridges提供的下载早期版本的Xcode和iPhone OS SDK的链接不起作用。 然而,编辑这些链接来replace'iphone'的第一个实例'ios'是行不通的,至less对于雪豹链接(现在下载)。

正确的链接,以及有关安装旧的iOS SDK到新的Xcode安装的信息,来自Chris Fletcher的博客文章: howto install xcode 3.2安装iphone sdk 2.0.3.1强烈推荐!

我也有同样的问题。 我也有一个问题,当使用多个目标切换回到以前的目标xcode会忘记改变一些东西,如从iOS目标切换到MacOS目标。

选项/ alt点击下拉

透露了一些额外的select,哪里非常有用。