【问题标题】:Install Xcode 3.2.3 w/ iPhone SDK 4, get "Base SDK missing", can't see other SDKs安装带有 iPhone SDK 4 的 Xcode 3.2.3,得到“Base SDK missing”,看不到其他 SDK
【发布时间】:2011-03-10 20:04:31
【问题描述】:

我创建了这个社区 wiki 来将许多 我在这里看到的其他问答。如果你在这里,你可能已经 使用 iPhone SDK 4 (download link, reg reqd) 安装了 Xcode 3.2.3 的最终版本,然后遇到了以下一个或两个问题:

  • 在您之前工作的 Xcode iPhone 项目中,您会在某处看到“Base SDK Missing”。像这样的:

  • 在一个相关但更普遍的观察中,以前可用的设备或模拟器 SDK 选项(例如 3.0、3.1、3.1.3、...)在您过去看到它们的地方都不可用。

【问题讨论】:

    标签: iphone xcode ios4


    【解决方案1】:

    概述

    我将解释为什么会这样,然后是如何解决特定的“Base SDK Missing”问题。您可以跳到底部进行修复,但我建议您阅读所有这些内容。我还推荐 John Muchow 在这个问题上的出色 take。

    如果您对 Xcode 3.2.4 升级特别感兴趣,它有一个密切相关的问题,您可能想授予here。

    一个 SDK 统统统统

    这是交易:4.0 现在是唯一允许提交的 SDK 版本 新的或更新的 iPhone 专用应用程序。这是直接来自 Apple 的 iOS 4 Readiness Checklist (reg reqd):

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

    大概 -- 我在这里猜 -- 仅限 iPad 和通用应用程序 应该使用 3.2 SDK。 这就是为什么 4.0 和 3.2 是 SDK 的唯一选择。

    这也是您的项目现在被破坏的原因,因为它之前映射到的 SDK 已弃用,gones-ville。

    (但是)3 是一个幻数

    放松。您仍然可以定位运行 iPhone OS 3.0(但不能更低)的设备。 你使用的SDK编译不限制--向下--什么iOS版本 您可以编程或支持。一旦你在你的项目等中进行了修补(参见下一节),你可以将“iPhone OS 部署目标”设置为较低的 iOS 版本。如需快速了解如何执行此操作,请参阅。下一节中的第 7 步。

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

    您仍然可以下载(从 Apple!)并安装以前的 Xcode 版本或 SDK(参见here)。是的,您可以在不同的目录中安装多个 Xcode 版本,即在 /Developer 中只放置一个版本。您可以使用旧的 Xcode 来测试您的应用程序与 3.x SDK 的合规性,将繁重的工作转移到花哨的编译器和模拟器上。但是您不能再使用之前的 SDK 的产品提交到应用商店。

    FWIW,我计划在发货前进行这项检查。

    我的情况是什么情况

    Matt Gallagher 在名为"Tips & Tricks for conditional iOS3, iOS3.2 and iOS4 code" 的版本条件代码上发表了一篇Cocoa with Love 帖子。如果您计划有条件地使用 4.0 功能,强烈建议您检查一下。

    修复“缺少基本 SDK”

    1. 加载您的项目
    2. 从菜单中,选择项目 > 编辑项目设置...
    3. 在架构 > 基础 SDK 下,选择可用设备之一 选项:iPhone 3.2 或 iPhone 4.0。如果您只使用 iPhone,那么 4.0 是不错的选择。
    4. 关闭那个窗口。
    5. 从菜单中,选择项目 > 编辑活动目标“YourTarget”
    6. 在架构 > 基础 SDK 下,选择可用设备之一 或模拟器选项:iPhone 3.2 或 iPhone 4.0。
    7. 如果你想定位以前的 iOS 版本,那么在同一个 窗口,在部署 > iPhone OS 部署目标下,选择 您要支持的最低版本。请注意,支持 2.x 版本 通过应用商店已弃用。请参阅上面的“准备检查清单”引述。

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

    按照上述步骤操作,但对于第 2 步,请单击以下内容:

    • 使用导航器侧边栏左侧的文件夹图标选择项目导航器
    • 选择项目,它将位于该视图的顶部。
    • 项目配置将出现在主编辑器面板中;选择顶部的“构建设置”,下方将是“架构”部分。

               

    (这个答案是 Sherman Lo 的 answer 的略微改编版本)

    附录

    有关此主题的更多详细信息也可以在此question 的第一个答案中找到。还有一些有用的信息here。

    【讨论】:

    • 对于那些像我这样认为“项目设置”项不存在的盲人的快速说明,它是“项目”>“编辑项目设置”。
    • '您仍然可以(从 Apple!)下载并安装以前的 Xcode 版本(例如 3.1.4:Leopard、Snow Leopard)。该链接实际上适用于 3.1.3 sdk,而不是 3.1.4。
    • 伙计们:这是一个 wiki,所以请随时自行修复。
    • 注意目标设置会覆盖项目设置;您不必在两个地方都设置它。我建议您不要在目标设置中设置它(如果存在则将其删除),然后仅在项目设置中进行设置。顺便说一句:如果您确实在项目设置中进行了设置,请确保您选择了所有配置。 (或使用“General”选项卡并通过“Base SDK for All Configurations”弹出窗口进行设置)。
    • 您可能希望更新此答案以包含新的最新 SDK。
    【解决方案2】:

    如果您修复了设置,但仍然看到“Base SDK Missing”并且无法构建,请重新加载您的项目。我退出了 Xcode,但关闭并重新打开可能也可以。

    【讨论】:

    • 这是为什么呢?不得不关闭 xcode 并仅加载设置更改的 b/c 似乎很奇怪:O
    • 好问题 RyBolt,但事实就是这样。 Apple 一定在某处缓存了某些东西,然后重新加载会转储它,但这只是一个猜测。
    【解决方案3】:

    Clay Bridges 提供的用于下载早期版本的 Xcode 和 iPhone OS SDK 的链接不起作用。然而,编辑这些链接以用“ios”替换“iphone”的第一个实例确实有效,至少对于 Snow Leopard 链接(现在下载)。

    正确的链接以及将旧版 iOS SDK 安装到新版 Xcode 中的信息来自 Chris Fletcher 的这篇博文:howto install iphone sdk 2.0.3.1 for xcode 3.2强烈推荐!

    【讨论】:

    • 好消息,史蒂夫。我认为我的答案是社区维基。您可以使用正确的信息对其进行编辑。谢谢。
    • 我是 StackOverflow 的新手,我认为我需要更多的“积分”才能让网站允许我编辑其他人的帖子。 UI 没有给我任何明显的方式来为您的帖子说“编辑此帖子”。对不起。
    【解决方案4】:

    我也遇到了同样的问题。当使用多个目标切换回以前的目标时,我也遇到了一个问题,xcode 会忘记更改一些内容,例如从 iOS 目标切换到 MacOS 目标。

    option/alt 点击下拉菜单

    揭示了一些非常有用的额外选项。

    【讨论】:

      猜你喜欢
      • 2011-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多