假设我有一个使用Swift编写的自定义框架,其中包含许多功能。 我们将此框架称为'MyFramework',它使用了一些第三方库,例如Firebase,SDWebimage,PromiseKit等。我将它们与 CocoaPods 集成在一起。 我们的目标是在计算机上编译我们的框架,然后将生成的 .framework 文件提供给客户,客户可以将其集成到他的项目中。
预编译框架非常重要,因为我们不想让客户看到/修改我们的代码。
这是可行的,但是问题是,例如,如果我们的客户在他的项目中也使用了Firebase(也安装了CocoaPods),那么他将收到很多警告,例如:
XY类同时在MyProject和MyFramework中实现。将使用两者之一。哪个未定义。
是否可以在没有这些库的具体实现的情况下以某种方式构建我的框架,并从客户已安装的Pod中获取它们?
我尝试过的另一种可能的解决方案是将所有依赖项放入框架中,并尝试从客户的项目中引用它们。但是然后编译器说不能引用这些依赖关系,这很有趣,因为如果我将所有这些都重新安装到项目中,它将说重复的依赖关系。
编译框架并在其中使用这些Pod的最佳方法是什么?