Framework包含对另一个框架的代码引用

时间:2017-10-15 06:52:02

标签: ios swift xcode

我分发了一个框架,并且最近添加了需要第三方框架的功能。我希望能够在我自己的框架中嵌入其他框架,但是"伞" Apple不赞成这些框架。

我的用户(开发人员)可以处理我的框架所依赖的依赖关系,并负责在项目中包含其他框架。

但是如果我尝试在没有嵌入其他框架的情况下构建我的框架,它就不会编译,因为我有对模块的代码引用。

我如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

我认为这是Frameworks and Weak Linking的完美用例。 具体来说,您可以在目标的Build Phases-> Link Binary With Librares中将框架链接为可选项 在这里,您基本上将责任委托给客户链接到所需的框架。

在您的代码中,在使用可选框架的任何符号之前,您必须使用if([<Framework> class])检查框架的存在。

答案 1 :(得分:0)

解决方案是让第三方框架项目成为我的框架项目的依赖子项目。我将利用依赖管理器来实现它,以便我的框架的开发人员用户不必处理下载和集成第三方框架。