Xcode 9:如何安装ios 10 sdk

Xcode 9:如何安装ios 10 sdk,ios,xcode,ios10,base-sdk,Ios,Xcode,Ios10,Base Sdk,考虑到目前Xcode 9是beta版,而今天的主要兴趣是了解iOS 11,这个问题无疑很奇怪 在使用Xcode 9 beta版时,是否有办法将iOS 10作为基本sdk? 苹果是否需要像在Xc8中为以前的操作系统那样为Xcode 9打包SDK 为什么要这个 a) 首先想到的是在一个项目上使用Xcode 9新的重构工具,该项目涉及的代码需要从iOS 10更改为11,但目前必须在iOS 10上运行 b) 为了试验..使用,我能够使用Xcode 9 beta 4针对SDK10.3进行编译。有许多警告是

考虑到目前Xcode 9是beta版,而今天的主要兴趣是了解iOS 11,这个问题无疑很奇怪

在使用Xcode 9 beta版时,是否有办法将iOS 10作为基本sdk? 苹果是否需要像在Xc8中为以前的操作系统那样为Xcode 9打包SDK

为什么要这个

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模拟器SDK。如果尝试以下操作,您将遇到此错误:

错误:Swift不支持SDK“iPhoneSimulator10.3.SDK”

注意事项3:即使你做到了所有这些,你仍然不允许在iOS 11发布之前提交打算发布的应用程序。使用较旧的基本SDK的唯一好处是利用iOS平台中的某些特殊情况。一个值得注意的例子是,在iOS的历史上,还有其他几个类似的例子

传统的VoIP架构被iOS 8中基于PushKit的新架构所取代。然后,iOS9SDK正式弃用了它。在iOS 10中,它仅作为兼容性度量标准提供;如果您的应用程序与旧SDK链接,它将继续工作(与以前一样),但如果您与iOS 10 SDK链接,它将被禁用

注意事项4:您只能通过纯objective-C项目来完成。10.3SDK和Xcode 9附带的swift编译器版本之间似乎存在一些不兼容之处。具体而言,此错误:

如果你还感兴趣的话 。。。下面是如何做到这一点

第一步 通过替换以下文件,将用于Xcode 9的11.0 SDK替换为用于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在iOS 10上开发当然是可能的。只需确保您的部署目标设置为iOS 10。好吧,我想看看使用Xcode 9 beta版是否已经有一种方法可以添加以前的iOS SDK,就像您在发布版本中所做的那样……可能在测试期内无法预见……感谢分享。不过,对我来说,这并不是关于在模拟器上进行测试,而是关于为iOS 10而不是11编译时的变化。有一些重大的变化(其中一个是顶部布局指南),这使得目前继续为iOS 10编译你的应用程序是可取的,不仅仅是在其他模拟器中测试。但是Xcode 9也完全能够为iOS 10编译。我一直在用它来编译10.3目标。如果您选择10.3目标而不是swift 4,将会发生什么?编译器将称自己为swift 3.2(这是在swift 3兼容模式下工作的swift 4编译器)。这是您试图做的还是我误解了您的评论?目标10.3做得很少,swift语言版本与此无关。您可以使用Swift 4以10.3为目标,而不会出现问题。问题是二进制文件在编译时链接到哪个版本的系统库。你是对的。我只是想在以前的iOS版本上进行测试,而不是针对较旧的SDK进行编译。你的问题似乎有点困惑。“基本sdk”和“部署目标”之间有一个主要区别。这个答案专门针对更改基本sdk。更改部署目标非常简单。谢谢!我用10.3SDK在iPhoneX模拟器上成功地启动了我的应用程序。刚刚将
iPhoneOS.platform
更改为
iPhoneSimulator.platform
@AllenHumphreys为什么不保留这两个SDK并只更改符号链接的路径@Chris,看起来它可以工作,但这是很久以前的事了,所以我不认为我会复制它来确保它工作。@AllenHumphreys我就是这么做的,我能够使用Xcode 8.3.3提供的10.3.x SDK来构建iOS应用程序。