我有一个需要iOS 6.1 SDK的项目,我已升级到XCode5,并且在Build Settings中没有看到iOS 6.1 SDK - >基础SDK。我已经将早期的SDK单独保存并尝试将其复制粘贴到/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs目录中。但它没有出现在Build设置中 - >基础SDKS。如何在Xcode 5中使用多个SDK?
答案 0 :(得分:8)
您应该使用符号链接来避免在每次XCode更新时删除早期的SDK,而不是直接复制粘贴。
1.打开终端并转到以下SDKs目录,如下所示
cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs
2.在未来的XCode更新后,在文档或任何其他目录中使用SDK 6.1或您想要的早期SDK。将SDK放入该目录后,使用以下命令创建符号链接。 (为简单起见,我已将SDK 6.1放在Documents目录中)
sudo ln -s /Users/.../Documents/iPhoneOS6.1.sdk .
注意:不要忘记在命令后添加空格和点。
答案 1 :(得分:4)
在删除的答案的评论中,您说:
使用7.0 SDK在我的iOS7应用程序中引起了各种奇怪的渲染问题我没有时间立即修复
我理解这里的问题,但我不得不说我同意trojanfoe,最佳做法是确实应该使用最新的SDK,但也可以随意支持您的业务需求所规定的任何先前iOS版本。因此,理想情况下,应该:
将应用的最低部署目标设置为您需要支持的最早版本的iOS:
显然,从应用程序的最小“部署目标”到最新的iOS版本,编写支持iOS版本范围的代码。这将涉及 iOS应用程序编程指南的Supporting Multiple Versions of iOS中列出的常用技术,即:
您最早部署目标可能不支持的框架的弱链接;
运行时检查是否存在类;
respondsToSelector
的运行时检查,查找那些在您支持的所有iOS版本中都不可用的方法;
等
然后,如果您想在早期iOS版本的模拟器上进行测试,请在方案菜单中选择目标iOS版本:
显然,您还需要在仍在运行旧版iOS(以及显然是最新的iOS版本)的物理设备上进行测试。但是使用模拟器是一种快速的方式来运行应用程序,以适应早期的iOS版本,并确保您保持向后兼容性。
我理解您对此方法的担忧,我理解这可能不适合您,但我觉得有必要概述我认为是“最佳做法”。
答案 2 :(得分:1)
如果您想将以前的SDK与xCode 5一起使用,只需将之前的sdk复制到contents-> developer-> patforms-> iPhoneOS.platform 之后重启xCode。确保你打开xCode5内容并粘贴在那里。