【发布时间】:2023-03-30 02:39:01
【问题描述】:
和Appole doc一样
它声明:
如果您正在构建自己的静态库并使用 shell 脚本 将其打包在 .framework 目录中,您需要迁移到构建 一个带有动态库的框架,因为这是正确的方法 构建一个框架。静态框架不是受支持的方式 共享静态库。
为什么 Apple 不允许在框架中使用静态库?
它是post 的缩写吗?
或者,也许该帖子混淆了static library 和static framework?
iOS 中的所有框架都是动态的,对吧? 苹果说:
框架是封装动态库、头文件的分层目录 文件和资源,例如故事板、图像文件和本地化 字符串,放入单个包中。使用框架的应用程序需要嵌入 应用程序包中的框架。
【问题讨论】:
-
对,正如发行说明中所说的 developer.apple.com/library/archive/releasenotes/DeveloperTools/…,“Xcode 支持包含 Swift 代码的静态库目标。调试使用 Swift 静态库的应用程序可能需要完整的构建工件集,这些构建工件在其原始版本中位置。”
-
看起来有一些静态框架,但苹果没有太多关于它的文档。就像这里描述的那样:我在官方文档中没有看到任何关于静态框架的字眼。只有(动态)框架。所以 xcode 不能像动态框架一样处理它。框架中的资源不能自动复制到应用程序的主包中。如果您使用 cocoapods,它将自动处理它,但不会用于手动集成。 github.com/leavez/cocoapods-static-swift-framework
标签: ios xcode frameworks static-libraries binaryfiles