【问题标题】:How to build against older iOS versions with the latest Xcode downloads?如何使用最新的 Xcode 下载来构建旧 iOS 版本?
【发布时间】:2011-04-14 10:18:31
【问题描述】:

我安装了多个版本的 Xcode。我可以通过启动旧的 Xcode 来针对旧的 iOS 版本构建我的项目。但是我如何使用较新的 Xcode 版本来针对较旧的 iOS 版本进行构建呢?

在项目设置中有一个 Base SDK 下拉菜单。它只提供最新的 iOS 版本供选择。

在 /Developer/Platforms/ 下有一个 iOS.platform 文件夹,其中包含:

SDKs/
  iPhoneOS3.2.sdk
  iPhoneOS4.1.sdk

最后,还有一个名为 DeviceSupport 的有趣文件夹,其中包含从 3.0 到 4.1 的一大堆版本!

必须有一种方法可以将 SDK / DeviceSupport 文件从旧 Xcode 复制到新 Xcode,并使 iOS 4.0 甚至 3.0 等旧版本正常工作。怎么样?

【问题讨论】:

标签: iphone xcode


【解决方案1】:

制作一个运行在多个 iOS 版本上的应用程序目标相对简单: 将您的项目设置中的“Base SDK”设置为您可能需要其功能的最新版本的 iOS。 将“iPhone OS 部署目标”设置为您将支持的最旧的 iOS 版本号

您需要安装旧版本的 xcode,因为较新的模拟器将只支持较新的 ios 版本

http://developer.apple.com/library/mac/#documentation/Xcode/Conceptual/XcodeCoexistence/Contents/Resources/en.lproj/Details/Details.html

【讨论】:

  • 如果您有较旧的 SDK,您可以将它们放入 {Xcode_Path}/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/ 我复制了旧的(4.1、4.2、4.2、5.0)SDK更新了 Xcode(因为 Xcode 更新只有最新的 SDK),我将它们粘贴回这个文件夹,我现在可以在同一个 iOS 模拟器上模拟旧的 SDK。您仍然必须安装较旧的 Xcode 才能访问较旧的 SDK,但是一旦您安装了旧版 Xcode,您就可以删除旧版 Xcode。
【解决方案2】:

这在 Xcode 3.2.5 (iOS 4.2.1) 中变得更加困难,因为设备和模拟器的单独“基础 SDK”值被单个“iOS SDK”替换。

有关如何在最新的 Xcode 中访问旧版 Simulator SDK 的详细信息,请参阅我在 Xcode/Simulator: How to run older iOS version? 中的帖子。

【讨论】:

    【解决方案3】:

    我认为您应该始终使用最新的 SDK 进行构建,并将部署目标设置为适当的版本。为确保您的应用程序正常运行,请仔细检查所有版本的所有内容,此外还要检查文档,如果您使用的 API 在不同版本的 SDK 中已更改/删除/已弃用!

    【讨论】:

    • 值得针对旧版 SDK 进行构建,以捕捉您使用旧版 SDK 中不存在的较新 API 调用的情况。这些成为编译时错误而不是运行时异常,更容易调试。
    猜你喜欢
    • 1970-01-01
    • 2012-04-19
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多