Zen*_*ton 41 ios ios-frameworks cocoapods
我收到这个警告:
Class X is implemented in both <framework> and <application> one of the two will be used, which one is undefined
这个警告在网络上有很多内容,但我没有发现任何可以解决我遇到的具体问题的内容.
脚本
我已经构建了MyFramework和MyApplication(作为MyFramework的测试/演示应用程序).
MyFramework使用CocoaPod(我将其称为CoolPod),我也想在MyApplication中使用它(并且假设MyFramework的消费者也是合理的).
我需要能够将MyFramework分发为.framework(用于封闭源代码).但是,这意味着MyFramework将CoolPod嵌入其编译库中.
现在当我将MyFramework和CoolPod导入MyApplication时,我得到了这个冲突(输出上面显示的警告),因为CoolPod的类已经包含在MyFramework的库中(因为嵌入了CoolPod).
所以我们有这个结构:
CoolPod -> MyFramework \
                        MyApplication
               CoolPod /
题
我该如何避免这种冲突?
我曾考虑在MyApplication中包含CoolPod的头文件(但不包括它的lib),但这对于一个简单的案例来说似乎过于复杂.
非常感谢任何帮助,这实在是在阻止我.
谢谢,
靛青
我的解决方案是从 cocoa pod 中获取源代码并为其创建一个 Cocoa Touch 框架。然后我将框架链接到我的 api 和我的测试应用程序。这不是很好,但这是我能很快做的。我相信 Cocoapods 正在致力于支持框架,因此这个解决方案可能很快就会过时。
我的公司还使用 gradle 来实现依赖项 (java) 和构建脚本。因此,我创建了一个 groovy/gradle 构建任务,用于构建我的框架和支持框架(cocoapod 框架),并从中创建一个通用框架。然后它会压缩所有框架。这意味着我可以分发一个包含所有要求的 zip 文件。这显然不是最好的分发方式(我们将转向通过 Cocoapods 进行分发,并依赖于我们的闭源框架),但它的设置速度很快。
| 归档时间: | 
 | 
| 查看次数: | 9264 次 | 
| 最近记录: |