Cocoapods – 没有这样的模块“模块”(对于任何模块)
在经过一个多星期的debugging之后,是时候放下自己的骄傲了。 为了序言,在有人把这个问题标记为重复之前,我意识到这是一个关于SO的常见问题。 然而,我几乎读过所有类似的问题,似乎对每一个给定的答案都尝试过变化,但都无济于事。 虽然这个问题可能看起来令人生畏,但事实并非如此。 我只是简单地select提供一个完全详尽的清单,这些清单可能与彻底的精神相关,也可能不相关。
这是我的问题的根源:
没有这样的模块“ParseUI”
错误信息
这个差异在于,据我了解框架(以及所有“没有这样的模块”框架)在某些方面确实存在,如下所示,当我build立这个项目并且经历编译阶段时:
编译框架
对于上下文,这不是一个特定于文件LocalPost.swift
错误(以上错误截图)。 如果我在那个文件中注释掉那个import
语句,它只会在下一个地方发现错误,它会通过Cocoapods安装任何框架。 它只会抛出这个错误,因为它是在我的目标构build阶段的“编译源”部分中的第一行中find的第一个import
语句,如下所示:
应用目标的构build阶段顺序
应用目标的编译来源
话虽如此,为了简单起见,我将重点讨论缺less的ParseUI
模块。
TRIED&FAILED SOLUTION ATTEMPT – 重新排列构build阶段顺序
现在我将显示这个框架似乎与我所采取的步骤一起存在的地方:
首先,这些框架是通过cocoapods安装的。 这是我的Podfile
:
Podfile
运行pod install
,一切顺利。 ParseUI
位于我的项目中的以下位置:
在项目的“框架”目录中(完整path如右图所示)
* TRIED&FAILED SOLUTION ATTEMPT – 将位置下拉菜单更改为其他选项
应用目标的链接库
接下来,我将展示一些我认为与框架searchpath相关的构build设置。 由于我对这个设置所做的任何更改都没有改变(如下所示),它们目前是空白的:
项目框架searchpath
目标框架searchpath
目标的其他链接器标志
* TRIED&FAILED SOLUTION ATTEMPT – 更改项目和目标构build设置的框架searchpath,包括以下内容:
-
$(inherited)
(recursion和非recursion) -
$(PROJECT_DIR)
(recursion和非recursion) -
$(PROJECT_DIR)/Frameworks
(recursion和非recursion) -
$(SRCROOT)
(recursion和非recursion) -
$(SRCROOT)/Frameworks
(recursion和非recursion) - 以上的组合
现在在Pods
项目中进行configuration。 这是框架位于Pods
目录中的位置:
Pod的目录
框架目标的path(完整path显示在右侧)
导航器中的“产品”目录
最后,这里是Pod
的项目searchpath构build设置:
项目级框架searchpath
这就为我展示了所有相关的用户界面。 我应该注意一些其他的事情:
- 是的,我正在使用
MyProject.xcworkspace
- 我可以清理/清除派生的数据/重新启动我的项目,我的眼睛closures了几次,我已经尝试了这些步骤。
- 我甚至完全删除了豆荚,并在干净的石板上通过cocoapods重新安装
我使用的版本是:
- Cocoapods v1.0.1
- Xcode v7.3.1
- Swift v2.2
- Ruby v2.3.1(如果这是Cocoapod相关的?)
如果你已经得到这么多,也要感谢你花时间跟随。 如果你有任何build议,我应该采取,甚至更好。 我不知道该怎么做。 如果需要,我会用任何请求信息修改这个问题。
确保您的Pods子项目将“Build Active Architecture Only”设置为NO。