In this 关于如何使用 CocoaPods 的教程 https://www.raywenderlich.com/97014/use-cocoapods-with-swift我无法理解以下段落:
与 Objective-C 不同,标准 Swift 运行时库不是
包含在 iOS 中!这意味着您的框架必须包含必要的
Swift 运行时库。因此,用 Swift 编写的 pod 必须
被创建为动态框架。如果 Apple 允许 Swift static
库,这会导致不同库之间出现重复符号
使用相同的标准运行时依赖项。
这是我的问题:
“标准 Swift 运行时库”到底是什么?是个斯威夫特标准库 https://developer.apple.com/reference/swift一个这样的标准 swift 运行时库,我用 swift 编写的框架是否会被视为 swift 运行时库?
“iOS 中不包含 Swift 运行时库”到底是什么意思?我想我也很难推断出“iOS”指的是什么。
关于本段的任何其他见解、链接、资源或解释将不胜感激!
Edit:
读完后运行时库 wiki 文章 https://en.wikipedia.org/wiki/Runtime_library我不再困惑Q1。以下段落为我澄清了这一点:
运行时库的概念不应与
像应用程序创建的普通程序库
程序员或第三方交付,也不使用动态库,
意思是在运行时链接的程序库。例如,C
编程语言只需要一个最小的运行时库(通常
称为 crt0),但定义了一个大型标准库(称为 C 标准
库)必须由每个实现提供。
然而我仍然很困惑Q2.
Objective C 具有稳定(不变)的运行时库,因此操作系统 (macOS/iOS) 提供该库的一个共享副本,可供所有需要它的应用程序使用,这是有意义的。相比之下,Swift 是一种快速发展的语言,这意味着它的运行时库在版本之间经历了巨大的变化。因此,Xcode 将 Swift 运行时库的副本作为每个应用程序的一部分进行捆绑,以确保应用程序可以使用运行时库的正确版本(应用程序使用的版本)的副本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)