【发布时间】:2019-03-08 20:57:41
【问题描述】:
我们遇到了非常奇怪的问题,这会在我们的生产代码中产生问题。基本上,我们创建了一个框架,其中几乎没有单独的可选框架。现在,我们使用以下逻辑从框架中访问代码:
#if canImport(optionalFramework)
firstMethodFromTheFramework()
secondMethodFromTheFramework()
#endif
问题是,然后我们用CocoaPods分发我们的主框架,即使客户端集成了额外的Subspec,我们的代码不能引用额外的框架..所以它没有导入框架并且不调用可选方法。所以它不能完全工作并产生大量问题......我们根本不明白,为什么IOS开发不允许这样的特性和这样的架构?
模块化框架要好得多,而不是创建巨大的框架,这只会增加规模和复杂性..
如果客户端集成它们,也许还有其他方法可以从可选框架中访问框架?
我们真的对整个情况有点不确定,这对我们的整个项目至关重要。
我再澄清一次:我们的主要框架根本不包括可选框架。它只使用 #if canImport() 标志。客户端应负责添加 Pod,然后框架应自动开始执行代码
【问题讨论】:
-
这个我没试过!会再试一次。不过,我现在应该在我们的主框架 podfile 中包含这个可选的 Pod 吗?那么,我应该将这个可选框架指定为弱框架,对吗? :)
-
@SachinVas 不工作。因此,它甚至没有通过验证。
-
能否上传验证失败的日志?
标签: ios swift cocoapods ios-frameworks podspec