【问题标题】:Xcode - Use multiple SDKs on XCode 5Xcode - 在 XCode 5 上使用多个 SDK
【发布时间】:2013-10-02 15:52:13
【问题描述】:

我有一个需要 iOS 6.1 SDK 的项目,我已升级到 XCode5,但在 Build Settings -> Base SDKs 中没有看到 iOS 6.1 SDK。我有较早的 SDK 单独保存并尝试将其复制粘贴到 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs 目录中。但它没有出现在 Build settings -> Base SDKS 中。如何在 Xcode 5 中使用多个 SDK?

【问题讨论】:

  • 当我这样做时,它确实出现在我面前。我想你已经重新启动了 Xcode?​​span>
  • 确保您重新启动 XCode,在某些情况下您需要注销/重新登录。
  • 为了让我在 iOS 7 模拟器中运行 iOS 6.1 SDK,我必须从 Xcode.app 中的 iPhoneSimulator.platform 目录中拉入 6.1 SDK
  • @atreat 很高兴知道。但我已经有了 SDK..

标签: ios xcode5


【解决方案1】:

您应该使用符号链接来避免在每次 XCode 更新时删除早期的 SDK,而不是直接复制粘贴。

1.打开终端,进入如下SDK目录

 cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs

2. 将 SDK 6.1 或您想要的早期 SDK 粘贴到文档或任何其他目录中,在以后的 XCode 更新后它不会被删除。将 SDK 放入该目录后,使用以下命令创建符号链接。 (为简单起见,我将 SDK 6.1 放在 Documents 目录中)

 sudo ln -s /Users/.../Documents/iPhoneOS6.1.sdk .

注意:不要忘记在命令后添加一个空格和一个点。

【讨论】:

    【解决方案2】:

    在已删除答案的评论中,您说:

    使用 7.0 SDK 导致我在 iOS7 上的应用出现各种奇怪的渲染问题,我没有时间立即修复

    我理解这里的问题,但我不得不说我同意 trojanfoe,最佳实践是确实应该使用最新的 SDK,但也可以随意支持您的业务要求规定的任何先前的 iOS 版本。因此,理想情况下,应该:

    1. 将应用的最低部署目标设置为您需要支持的任何最早的 iOS 版本:

    2. 显然,编写支持各种 iOS 版本的代码,从应用的最低“部署目标”到最新的 iOS 版本,应有尽有。这将涉及 iOS 应用程序编程指南Supporting Multiple Versions of iOS 中列出的常用技术范围,即:

      • 您最早的部署目标可能不支持的框架的弱链接;

      • 运行时检查类是否存在;

      • 运行时检查 respondsToSelector 以查找在您支持的所有 iOS 版本中不可用的方法;

    3. 然后,如果你想在模拟器上测试早期iOS版本,在scheme菜单中选择目标iOS版本:

      显然,您还需要在仍然运行旧 iOS 版本(当然还有最新的 iOS 版本)的物理设备上进行测试。但是使用模拟器是一种快速运行应用程序的方法,可以让应用程序在早期的 iO​​S 版本中运行,并确保您保持向后兼容性。

    我了解您对这种方法的担忧,并且我知道这可能不适合您,但我觉得有必要概述一下我认为是“最佳做法”的内容。

    【讨论】:

      【解决方案3】:

      如果你想在 xCode 5 中使用之前的 SDK,只需将之前的 sdk 复制到 contents->developer->patforms->iPhoneOS.platform 之后重新启动xCode。确保您正在打开 xCode5 内容并粘贴到那里。

      【讨论】:

      • 重启成功了。但在上面标记答案,因为它有未来升级的解决方案。谢谢。
      猜你喜欢
      • 2023-03-13
      • 1970-01-01
      • 2014-07-25
      • 1970-01-01
      • 2013-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多