首页 > 解决方案 > 命令 MergeSwiftModule 失败,退出代码为非零

问题描述

当我尝试在 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 上。

我尝试了一个干净的构建,但没有成功。还有其他关于此的线程,例如 this one,这似乎表明这是一个非特定的间歇性问题。

标签: swiftxcode

解决方案


就我而言,编译错误是由于导入了一个自定义框架,而该框架又导入了 PDFKit。我用 更改了import PDFKit框架代码中的import Quartz,该解决方法解决了 Xcode 11.6 中的问题。

Xcode 12 beta 3 似乎工作得更好,并且不需要任何变通方法来构建现有代码。


推荐阅读