首页 > 解决方案 > 是否可以将静态框架合并为动态框架

问题描述

我有两个用objective-c编写的静态框架。我想将它们合并到动态框架(Swift)中。我创建了动态框架,链接了这些静态框架,并且能够使用它们的类。

我创建了应用程序和嵌入式动态框架。我还将标志 -all_load 添加到其他链接器标志中,并且我能够使用动态框架 API。

当我删除静态框架(动态框架依赖项)时,应用程序不会编译抛出错误:缺少必需的模块。

我想隐藏静态框架并在没有静态框架包的情况下发布动态框架。

可能吗?

标签: iosswiftobjective-cframeworks

解决方案


可能不是唯一的问题,但可以肯定的是,您的应用需要在动态库中添加静态库的搜索路径:

  1. 在项目中找到您的框架。它会像$(SRCROOT)/.../YourFramework.framework
  2. 在其中找到静态框架。通常.../YourFramework.framework/SupportModules
  3. 转到应用程序的目标 Build Settings > Swift Compiler - Search Paths > Import Paths,并将上述路径添加为$(SRCROOT)/.../YourFramework.framework/SupportModules/**,并将 Recursive 设置为true

检查这个这个以获得更多提示。


推荐阅读