iOS:面向 iOS 9 时使用 Swift 4

Posted

技术标签:

【中文标题】iOS:面向 iOS 9 时使用 Swift 4【英文标题】:iOS: Using Swift 4 when targeting iOS 9 【发布时间】:2017-06-08 21:55:31 【问题描述】:

Swift 4 添加了一些非常酷的功能,例如强类型键路径和JSON encoding/decoding using Codable

我希望在仍然面向 ios 9 及更高版本的同时使用这些新功能。

据我了解,Swift 语言版本不绑定到 iOS 版本,例如与 Foundation 框架相反。但是,如果那是正确的,我找不到任何信息。

当面向 11 岁以上的 iOS 时,我可以使用 Swift 4 吗?

【问题讨论】:

【参考方案1】:

是的,就像 Swift 1、Swift 2 和 Swift 3 一样,您可以将 Swift 4 与任何版本的 iOS 7 及更高版本一起使用

查看 Swift 3 的类似问题:Xcode 8 / Swift 3 and installing apps on iPhone 4 running iOS 7 请参阅 Swift 2 的类似问题:Swift 2.0 minimum system version requirement (deployment target)


注意:由于 iOS 11 正在放弃对 32 位的支持,您将只能从 arm64 切片(即 iPhone 5S 及更高版本)使用 iOS 11。 Source:

iOS 11 不再支持 armv7 或 armv7s(32 位)。如果 iOS 目标具有 iOS 部署 目标为 11,则不会为 32 位构建。 iOS 目标与之前的 iOS 部署目标 默认情况下,超过 11 的版本仍将构建为 32 位。 (32163517)

【讨论】:

您是否有一些 Apple 文档的链接显示 Xcode 9 将无法针对 arm7?我听说过,但没有看到它记录在案。 根据 Xcode 9 发行说明,实际上是 iOS 11 放弃了对 32 位应用程序的支持,而不是 Xcode。因此,在 Xcode 9 中构建时,您应该能够以 iPhone 5S 之前的设备为目标:“iOS 11 不再支持 armv7 或 armv7s(32 位)。如果 iOS 目标的 iOS 部署目标为 11,那么它将不会为 32 位构建。iOS 部署目标早于 11 的 iOS 目标仍将默认为 32 位构建。(32163517)" Xcode 发行说明:developer.apple.com/go/?id=xcode-9-beta-rn 请注意,您需要使用您的设备 ID 登录才能看到该页面。

以上是关于iOS:面向 iOS 9 时使用 Swift 4的主要内容,如果未能解决你的问题,请参考以下文章

将文本分配给UILabel(iOS,Swift 4,Xcode 9)时内存泄漏

在一个视图控制器中使用不同的按钮上传多个图像(iOS、Xcode 9、Swift 4)

如何使用 Swift 4 在 iOS 9+ 中创建瀑布布局

如何使地图引脚动画下降?斯威夫特 2.2 IOS 9

点击文本字段时用选择器视图替换键盘(Swift、Storyboard、iOS 9、Xcode 7)

问题 XCode 8,Swift 2.3 存档版本在 IOS 9.2.1 -> IOS 9.0 上启动时崩溃