试图为我的客户准备一个动态框架。我的框架(A.framework)使用第三方识别静态框架(B.framework)。我无法为客户提供单独的A和B框架。 理想情况下,应该构建B.framework并将其包含在我的A.framework二进制文件中,以便客户的应用仅嵌入A.framework,而无需执行任何其他操作即可链接到该第三方应用。
我做了什么:
注意:
任何想法都会受到赞赏!
UPD 1 :这与伞式框架无关,因为正确的伞式框架实现需要从捆绑中加载子框架,这不是很好。由于动态和静态Mach-O值不同,伪造的框架实现(子框架只是复制到伞形)将无法发布。再加上假伞框架的规模很大,因为子框架已完全复制到伞中。
UPD 2 :创建了一个小型测试项目:StaticFrameworkTest,其中包含3个子项目:
答案 0 :(得分:3)
根据定义,静态框架是胖的静态库,结合了任何其他所需的资源。这样,您可以将第三方静态库嵌入您自己的中,并且还包括图像,情节提要,plist等。
您不能在静态库(即* .a)中执行此操作,但可以在静态框架中执行。 例如,请参见https://www.raywenderlich.com/65964/create-a-framework-for-ios,了解有关操作方法的详细信息(在文章结尾,它从静态* .a和一些资源中创建了静态* .framework)
动态框架永远不能嵌入第三方静态库。导入动态框架的主要应用程序将始终还必须显式链接到静态库,这似乎并不是您想要的。