Xcode中的应用程序项目有一个"嵌入式二进制文件" “常规”选项卡中的部分。但是,Cocoa Touch Static Library项目没有此部分。
为什么"嵌入式二进制文件"不适用于图书馆?在图书馆项目中是否有相同的内容?
我试图将框架依赖项从应用程序移动到静态库。在应用程序中,依赖关系被成功包含为"嵌入式二进制文件",但这不是静态库项目的选项。我能够使用依赖框架构建我的库,而不是在" Linked Frameworks and Libraries"中添加,但是由于未找到架构的#34架构,我在部署时遇到链接器命令失败&# 34;,即使依赖框架具有针对正确架构的通用二进制文件。
我很好奇在静态库中包含框架依赖关系的最佳实践是什么(不使用Carthage或CocoaPods)?
答案 0 :(得分:2)
静态库在构建时链接到应用程序二进制文件。因此,它们包含在应用程序中,并且不需要嵌入它们。相反,框架和动态库在运行时加载和链接。因此,Xcode在构建时将动态库复制并签名到应用程序包,应用程序可以在运行时加载代码。
答案 1 :(得分:2)
嵌入式二进制文件是复制到应用程序自己的包目录结构中的框架。应用程序与它们相关联,但由于它在自己的包中包含框架,因此它们不需要单独安装。
静态库不是包,因此您无法将框架复制到包中。依赖框架必须单独安装。
您必须将框架复制到使用静态库的任何应用程序的应用程序包中。