iOS11编译了一个针对iOS10的应用程序[重复]

Posted

技术标签:

【中文标题】iOS11编译了一个针对iOS10的应用程序[重复]【英文标题】:iOS11 compiled an app targeted for iOS10 [duplicate] 【发布时间】:2017-09-24 16:57:47 【问题描述】:

如何在最新的 Xcode 中编译针对较低版本 ios(例如 iOS10 或 iOS9)的应用程序?我已经检查过了,我的 Xcode 中只能有基础 SDK 11。如何让代码兼容低版本的iOS?

【问题讨论】:

我无法找到在最新 Xcode 中设置部署目标的位置...我过去这样做过...但现在找不到...怎么会... 【参考方案1】:

将 SDK 保留在 iOS 11 上,但将应用的部署目标(位于“项目设置”中,而不是“目标设置”中)设置为 iOS 10,您就大功告成了。您只需要避免使用 iOS 11 特定 API(和/或将任何 iOS 11 特定 API 包装在 if #available(iOS 11, *) ... 构造或其他等效模式中)。

这样,您可以享受最新 SDK 为使用它的设备带来的好处,但您也可以相对轻松地支持较旧的 iOS 版本。这需要的工作量(编码和测试)会根据您支持旧 iOS 版本的时间而增加。但如果你只返回一两个主要的 iOS 版本,那通常还不错。

【讨论】:

以上是关于iOS11编译了一个针对iOS10的应用程序[重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用 ARC 并针对 iOS 4.0 时如何替换弱引用?

应用程序在 iOS 10 上终止,恕不另行通知

ios 7 模拟器不会回退针对 ios 6.1 sdk 编译的应用程序的用户界面

如何在 Unity(C#,目前针对 iOS)中设置每周重复推送通知?

在 iOS 10.1.1 上运行的 Xcode 9 应用程序在启动时崩溃

针对Xcode 9 + iOS11 的修改