【发布时间】:2019-12-07 12:30:22
【问题描述】:
当我尝试在 Xcode 中构建我的 MacOS 应用程序时遇到错误。
Command MergeSwiftModule failed with a nonzero exit code.
error: umbrella for module 'PDFKit' already covers this directory
umbrella header "PDFKit.h"
^
error: inferred submodules require a module with an umbrella
module * { export * }
我的大多数 Swift 文件都有:
import Cocoa
import Quartz
我经常使用 PDFKit,所以我猜这与导入和引用标题有关。该错误发生在 Xcode 11.1 和 11.2 上。
我尝试了一个干净的构建,但没有成功。还有其他关于此的线程,such as this one,这似乎表明这是一个非特定的间歇性问题。
【问题讨论】:
-
你在代码中#import
吗?您收到此错误是因为 Quartz 框架伞头文件已经导入了 PDFKIt。 -
我使用的是 Swift,所以我只是使用了上面的 import Quartz 语句。请注意,在删除导入命令然后完全恢复它们之前,问题就自行解决了。
-
我可以通过 Quartz 替换 PDFKit 导入并从构建阶段删除 PDFKit.framework 来解决此问题。