Cocoapods - 没有这样的模块“模块”(对于任何模块)

Posted

技术标签:

【中文标题】Cocoapods - 没有这样的模块“模块”(对于任何模块)【英文标题】:Cocoapods - No Such Module 'module' (for any modules) 【发布时间】:2016-08-19 21:43:23 【问题描述】:

经过一个多星期的调试,是时候放下我的骄傲并放弃它了。作为序言,在有人将此问题标记为重复之前,我意识到这是关于 SO 的常见问题。但是,我已经阅读了几乎所有类似的问题,并且似乎对每个给定答案都尝试了变体,但都无济于事。虽然这个问题可能看起来令人生畏,但事实并非如此。本着彻底的精神,我只是选择提供一份完整的清单,列出可能相关或不相关的事项。

这是我问题的根源:

没有这样的模块'ParseUI'

错误信息

差异在于,据我了解,框架(以及所有“没有此类模块”的框架)确实以某种能力存在,如下所示,当我构建项目并通过编译阶段时:

编译框架

就上下文而言,这绝不是文件LocalPost.swift 中的ParseUI 所特有的错误(上面的错误截图)。如果我在该文件中注释掉 import 语句,它只会在下一个找到通过 Cocoapods 安装的任何框架的 import 的地方抛出错误。它只会抛出这个错误,因为它是在我的目标构建阶段的“编译源”部分中所述文件的第一行中找到的第一个 import 语句,如下所示:

应用目标的构建阶段顺序

应用目标的编译源

话虽如此,为简单起见,我将重点关注缺少的 ParseUI 模块。

尝试和失败的解决方案尝试 - 重新排列构建阶段顺序

现在我将展示这个框架似乎存在的位置以及我采取的步骤:

首先,这些框架是通过 cocoapods 安装的。这是我的Podfile

Podfile

运行pod install后,一切顺利。 ParseUI 位于我项目中的以下位置:

在项目的“Frameworks”目录中(完整路径如右图所示)

*尝试和失败的解决方案尝试 - 将位置下拉菜单更改为其他所有选项

应用目标的链接库

接下来,我将从框架搜索路径开始展示一些我认为相关的构建设置。由于我对此设置所做的任何更改似乎都没有任何区别(如下所示),因此它们目前是空白的:

项目框架搜索路径

目标框架搜索路径

Target 的其他链接器标志

*TRIED & FAILED SOLUTION ATTEMPT - 更改项目和目标构建设置的框架搜索路径,包括以下内容:

$(inherited)(递归和非递归) $(PROJECT_DIR)(递归和非递归) $(PROJECT_DIR)/Frameworks(递归和非递归) $(SRCROOT)(递归和非递归) $(SRCROOT)/Frameworks(递归和非递归) 以上组合

现在用于Pods 项目中的配置。这是框架在Pods 目录中的位置:

Pod 的目录

框架目标的路径(完整路径如右图所示)

导航器中 pod 的“产品”目录

最后是Pod的项目搜索路径构建设置:

项目级框架搜索路径

我要展示的所有相关 UI 到此结束。我应该注意的其他几件事:

是的,我正在使用MyProject.xcworkspace 根据我尝试这些步骤的次数,我可以清理/清除派生数据/闭上眼睛重新启动我的项目。 我什至完全移除了 Pod,并通过 cocoapods 在干净的石板上重新安装了它

我使用的版本是:

Cocoapods v1.0.1 Xcode v7.3.1 Swift v2.2 Ruby v2.3.1(如果与 Cocoapod 相关?)

如果您已经走到了这一步,感谢您抽出时间跟进。如果您对我应该采取的任何步骤有建议,那就更好了。我已经黔驴技穷了。如果需要,我会用任何请求信息修改这个问题。

【问题讨论】:

【参考方案1】:

确保您的 Pods 子项目将“Build Active Architecture Only”设置为 NO。

【讨论】:

以上是关于Cocoapods - 没有这样的模块“模块”(对于任何模块)的主要内容,如果未能解决你的问题,请参考以下文章

没有这样的模块与 cocoapods swift

CocoaPods 在 Xcode 7 Swift 2.2 中没有这样的模块

错误 - 没有这样的模块CCXGoogleSDK

Jenkins iOS 构建错误:没有这样的模块 'XXX'

没有这样的模块`FBSDKCoreKit`

没有这样的模块 SDImageView