ios - Swift 5 应用程序只能在特定的 iOS 版本上运行吗?
问题描述
最近我读了几篇关于 Swift 5 是 ABI Stable 的文章(这基本上意味着你不需要在 App 包中打包应用程序自己的 Swift 动态库版本),这是令人困惑的部分:
因为 Swift 将嵌入到 iOS 操作系统中。
现在听起来 Swift 动态库现在会直接进入 iOS。这是否意味着编译 Swift 5 的应用程序只能在特定的 iOS 版本上运行?
解决方案
您走在正确的轨道上,但关键是该应用程序只能在特定的 iOS 版本或更高版本上运行。ABI 稳定性的全部目标是允许使用一个版本的 Swift 编译的 Swift 二进制文件(即应用程序)能够与使用不同版本的 Swift 编译的二进制文件(即框架)进行互操作。
但是,是的,为了利用 ABI 稳定性,您的应用程序只能在 iOS 13(或任何版本)或更高版本上运行。
这就是 ObjC(以及 C 和 C++ 以及大多数语言)中的工作方式。我可以在 iOS 10 上构建我的 Objective-C 应用程序,并期望它可以毫无问题地与 iOS 11 上的 Foundation 和 UIKit 链接。你今天不能用 Swift 库来做到这一点。
推荐阅读
- c++ - 我正在尝试在 cpp 中获取当前日期和时间,但无法理解这些行
- node.js - React / Next,使用passport.js的Express应用程序无需注册即可登录帐户?
- gradle - 所有存储库中的 Gradle 依赖项更新
- c++ - 如果 MPI 程序中的一个进程比其他进程执行得慢怎么办?
- java - 方法的 Java 接口类型声明
- c++ - 分段错误(核心转储) - 二维数组
- python - 我在 numpy 中实现的多通道 1d 卷积有什么问题(与 tensorflow 相比)
- vue.js - 如何在 Vue CLI 中修改 e2e 测试的位置?
- c# - 如何存储从 HTTPPost web api 方法获取的设备令牌
- java - 无法在 Java 11 上运行的 Wildfly 17 中运行 JMX Exporter