在框架中使用 Carthage

Using Carthage in frameworks

我在 Xcode 中创建了两个框架。
在每个框架中,我使用 Carthage 来获取外部框架。

我有以下设置(希望它有意义):

- MyNetworksFramework
-- Framework reference(via Carthage): Alamofire

- MyUIFramework
-- Framework reference(via Xcode): NetworksFramework
-- Framework reference(via Carthage): RxSwift

- MyApp
-- Framework reference(via Xcode): UIFramework

我在模拟器中没有遇到任何问题,但是当在设备上 运行 时,我收到如下错误:dyld: Library not loaded... RxSwift.

我已将我的每个自定义框架添加到 "General" 下的嵌入式框架中。

我是否遗漏了一些外部框架设置?

我过去也遇到过同样的问题。修复此问题所需的是 运行 他们在 Github 中提到的 carthage copy-frameworks 命令。但是,不是将复制框架构建阶段放在每个框架上,而是需要将复制框架放在 MyApp 构建阶段。对于您在 MyApp 中的情况,您将添加 Alamofire 和 RXSwift。同时从 MyNetworksFramework 和 MyUIFramework 中删除复制框架。

这是我在构建阶段中的脚本的样子: