【问题标题】:Older SDK disappeared after installing new Xcode version安装新 Xcode 版本后旧 SDK 消失
【发布时间】:2011-03-01 07:47:17
【问题描述】:

为什么在使用新的 Iphone SDK 安装新版本的 xcode 时会删除旧的 SDK? 现在我们有了 v4,我必须进行哪些设置才能使应用程序仍然可以与 3.x 一起使用?

谢谢

【问题讨论】:

标签: iphone xcode


【解决方案1】:

将 Base SDK 设置为 4.0,将部署目标设置为 3.x。或者,在现代条件下,Base SDK to Latest 和 Deployment Target 可以满足您的任何需求。

【讨论】:

    【解决方案2】:

    3.2.3 最后一个测试版确实消除了所有其他 SDK 的原因,许多人尝试发布使用测试版 SDK 开发的应用程序,这将不被接受。我猜通用汽车仍然在做同样的事情

    如果你想为 4.0,3.2 和 3.0(加上 3.0,3.1,3.1.2,3.1.3)开发 执行以下操作

    • sudo /Developer/Library/uninstall-devtools –mode=all(这将卸载当前的 XCode 安装)
    • 然后在默认文件夹 (/Developer) 中安装第一个旧 XCode (3.2 final)
    • 然后在其他文件夹 (/DeveloperBeta) 中安装新的 XCode (3.2.3 GM)
    • 这样你就可以两者兼得。并且可以从 /Developer/Applications/Xcode.app 或 /DeveloperBeta/Applications/Xcode.app 启动 xcode

    【讨论】:

    • 这不是必需的。您可以针对所有版本的操作系统进行开发,其中 Base SDK 设置为 4.0,部署目标设置为其他版本。
    • 你是对的,正如zoul所说。但是如果你使用 f.e. 你会得到所有的警告/错误吗? MPMoviePlayerViewController 在 SDK 设置为 4.0 和不同部署目标的 3.2 以下 SDK 中不可用?我更喜欢拥有这些而不是查找可用性和东西。
    【解决方案3】:

    如果您有来自 Time Machine 之类的系统备份(而且您更好!),您可以从位于 /Developer/Platforms/iPhoneOS.platform/Developer/SDKs 和 /Developer/Platforms/ 的备份中复制较旧的 SDK iPhoneSimulator.platform/Developer/SDKs - 然后重启 XCode 就可以开始了。

    【讨论】:

      【解决方案4】:

      虽然“Zoul”已经最简洁地回答了这个问题,但我将尝试详细说明这 2 个设置并指出一些有用的文档,这些文档将有助于其他不熟悉这种情况的人。

      1. Base SDK 版本:这表示编译程序所基于的 SDK 版本。这可以从项目或目标的“构建设置”中设置。您可以在该版本之前引入的代码中使用来自 Apple 的 API 代码,编译器将识别所有符号并毫无问题地进行编译。

      2. 部署目标:这是你方关于应安装在用户设备上以运行你的代码的最低 iOS 版本的声明。此设置可以在项目的“信息”部分和特定目标的“摘要”部分下找到。现在,需要了解的重要一点是,如果您使用 Apple 在更高版本中引入的 API 代码,您的代码将不会自动在具有旧版本 iOS 的设备上顺利运行。这些可以是 Apple 在以后的版本中引入的新类/方法/框架。您必须通过编写必要的条件代码并提供备用代码路径来确保为没有较新 API 的旧 iOS 版本优雅降级。您可以自行处理版本不兼容问题。

      有关该主题的 Apple 文档可在“SDK Compatibility Guide”中找到。

      要了解不同 iOS 版本的变化,请参阅“What's new in iOS”。

      在“构建和运行应用程序”部分的“iOS Development Guide”中也讨论了这个主题。请参阅“指定运行时环境”小节。

      【讨论】:

        【解决方案5】:

        如果在将部署目标设置为至少与所需的 SDK 一样低后仍然存在问题,则需要下载该 SDK。幸运的是,Xcode 在这方面也为我们提供了帮助:

        • 查看 Xcode 左上角的 Simulator 选择器,然后选择 More Simulators。它将打开一个如下所示的页面:

        • 只需选择测试应用所需的 SDK。

        【讨论】:

          猜你喜欢
          • 2012-09-16
          • 1970-01-01
          • 1970-01-01
          • 2012-03-26
          • 1970-01-01
          • 2017-01-07
          • 1970-01-01
          • 2022-12-01
          • 2014-06-03
          相关资源
          最近更新 更多