如何从 XCode 中的 DerivedData 下的模块文件中停止“签名不匹配”错误?
Posted
技术标签:
【中文标题】如何从 XCode 中的 DerivedData 下的模块文件中停止“签名不匹配”错误?【英文标题】:How do I stop a 'signature mismatch' error from a module file under DerivedData in XCode? 【发布时间】:2021-09-10 08:16:20 【问题描述】:我们有一个 ios 项目,当使用 XCode 12.5 构建时,会出现类似于以下内容的错误:
模块文件 '/Users/revolt/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/J3JDK8UPXZ4K/Foundation-39SXNSRMYWPGZ.pcm' 已过期,需要重建:签名不匹配
这不会在第一次构建时发生,但在生成缓存后可以通过删除 DerivedData 文件夹来“解决”。
【问题讨论】:
【参考方案1】:这是bug in XCode。在撰写本文时,它似乎没有发生在 XCode 13 beta 中。解决方法是“...通过将 -fno-modules-global-index 添加到 OTHER_CFLAGS 来禁用全局模块索引。”。
【讨论】:
嗨,我正在使用 XCode 13.2 并且仍然重现此错误。将 -fno-modules-global-index 设置为 OTHER_CFLAGS 也不能解决它。您是否仅通过升级 XCode 来修复它? 是的,但我可能也清除了 DerivedData。我不再在 XCode 13.1 上看到这个问题。尚未尝试 13.2。以上是关于如何从 XCode 中的 DerivedData 下的模块文件中停止“签名不匹配”错误?的主要内容,如果未能解决你的问题,请参考以下文章
DerivedData/ModuleCache 中的致命错误
为啥 Xcode 将 DerivedData 放在我的项目文件夹中?
为啥清除 Derived Data 会清除 Xcode 中的各种错误?