首页 文章

什么是静态库相当于Xcode中的“嵌入式二进制文件”?

提问于
浏览
4

Xcode中的应用程序项目在“常规”选项卡中有一个“嵌入式二进制文件”部分 . 但是,Cocoa Touch Static Library项目没有此部分 .

为什么“嵌入式二进制文件”不适用于库?在图书馆项目中是否有相同的内容?

我正在尝试将框架依赖从应用程序移动到静态库 . 在应用程序中,依赖项已成功包含为“嵌入式二进制文件”,但这不是静态库项目的选项 . 我能够使用依赖框架构建我的库,而不是在“链接的框架和库”中添加,但是由于“未找到框架的框架”,我在部署时遇到链接器命令失败,即使依赖框架具有通用二进制文件瞄准正确的架构 .

我很好奇在静态库中包含框架依赖的最佳实践是什么(不使用Carthage或CocoaPods)?

2 回答

  • 2

    静态库在构建时链接到app二进制文件 . 因此,它们包含在应用程序中,并且不需要嵌入它们 . 相反,框架和动态库在运行时加载和链接 . 因此,Xcode在构建时将动态库复制并签名到应用程序包,应用程序可以在运行时加载代码 .

  • 2

    嵌入式二进制文件是复制到应用程序自己的包目录结构中的框架 . 应用程序与它们链接,但由于它在自己的包中包含框架,因此它们不需要单独安装 .

    静态库不是包,因此您无法将框架复制到包中 . 依赖框架必须单独安装 .

    您必须将框架复制到使用静态库的任何应用程序的应用程序包中 .

相关问题