我正在应用这个text中描述的模块化架构。我为系统的每个模块创建了一个子项目。在我的Presentation子项目中,我使用的是RxSwift,所以在我的Podfile中,我所拥有的是:
platform :ios, '10.0'
use_frameworks!
workspace 'ios-swift-template'
target 'Presentation' do
project 'ios-swift-template/Modules/Presentation/Presentation.project'
pod 'RxSwift'
pod 'RxCocoa'
end
target 'Networking' do
project 'ios-swift-template/Modules/Networking/Networking.project'
pod 'Moya/RxSwift'
end
target 'ios-swift-template' do
end尽管如此,当我尝试编译项目时,它告诉我BaseViewController (演示模块中的一个类)找不到RxSwift。如果我只尝试构建或运行Presentation Module,则它运行时没有错误。

在我的项目构建阶段,我将所有的模块框架复制到项目中:

为什么在构建期间找不到RxSwift?
发布于 2019-12-27 23:46:24
将pod 'RxSwift‘也添加到目标'ios-swift-template’下,以及主目标可以直接或间接引用的任何其他pod,然后重新运行pod-install。主要目标没有看到内部框架中包含的pod。阅读这篇文章可以得到更多的解释:
https://medium.com/@akfreas/how-to-use-cocoapods-with-your-internal-ios-frameworks-192aa472f64b
如果你深入阅读“iOS中的模块化架构”这篇文章,你会发现他做的也是同样的事情。他首先使用"core_pods“别名定义了RxSwift pod,然后将其包含在框架目标中,同时也包含在应用程序目标中的"application_pods”中。因此,您可以看到,应用程序目标还必须安装RxSwift pod。
https://stackoverflow.com/questions/59502362
复制相似问题