Xcode 9:如何安装ios 10 sdk

鉴于目前Xcode 9是testing版,而今天的主要兴趣在于获得iOS 11的知识,这个问题无疑是奇怪的…

有没有办法在Xcode 9testing版中使用iOS 10作为基准sdk? 是否需要Apple将Xcode 9的SDK与Xc8的先前的操作系统相同的方式打包?

为什么要这样?

a)首先想到的是在一个项目中使用Xcode 9漂亮的新重构工具,这个工程涉及需要从iOS 10到11改变的代码,但是目前在iOS 10上运行。

b)为了实验..

使用这个和这个我能够使用Xcode 9 beta 4对SDK10.3进行编译。这是可能的许多注意事项。

注意事项1: Xcode GUI似乎无法同时检测多个iPhone SDK。 所以你不能在10.3和11.0之间来回切换作为你的基础SDK。

注意事项2: Xcode 9附带的swift编译器不支持定位小于11.0的iPhone Simulator SDK。 你会遇到这个错误,如果你尝试:

错误:Swift不支持SDK'iPhoneSimulator10.3.sdk'

注意事项3:即使你这样做,你仍然不会被允许提交一个应用程序,意图在iOS 11启动之前释放它。 使用旧版SDK的唯一好处就是利用iOS平台中的某些特殊情况。 一个值得注意的例子就是后台VoIP套接字 ,还有其他一些例子,比如它分散在整个iOS历史中。

在iOS 8中,传统的VoIP体系结构已经被新的基于PushKit的体系结构所取代。然后,正式弃用了iOS 9 SDK。 在iOS 10中,它仅作为兼容性措施提供; 如果您的应用与旧版SDK相关联,则它将继续运行(以前也是如此),但如果您使用的是iOS 10 SDK,则会被禁用。

注意事项4:只能用纯粹的客观C项目来做。 在10.3 SDK和Xcode 9附带的swift编译器版本之间似乎有些不兼容。具体来说,这个错误:

在这里输入图像说明

如果你还有兴趣

…这是如何做到这一点。

步骤1

将Xcode 9的11.0 SDKreplace为Xcode 8.3.3的10.3 SDK,方法是:

Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs

从这里的文件:

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

第2步

在此文件中将MinimumSDKVersion值从11.0更改为10.3:

Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Info.plist

Xcode 9 beta 4允许所有以前的模拟器被下载和使用。 不需要解决方法,只需点击图片(最后一项)中显示的下载模拟器菜单项即可下载模拟器。

截图:列表中的XCode 9 beta混合模拟器版本