"Redefinition of module ..." 为模拟器构建时

"Redefinition of module ..." when building for simulator

我有一个 iOS xcode 项目,当我将 Generic iOS Device selected 作为我的目的地时,它可以正常构建。但是,当我 select 任何模拟器选项时,我的构建失败并出现许多 Redefinition of module 'abcde'iOS 11.4/usr/include/module.modulemap.

中定义的每个模块都有一个错误

重复定义来自 Simulator - iOS 11.4/usr/include/module.modulemap。我梳理了我的 workspace/project 设置,没有找到对模拟器的引用。所有部署目标都是 iOS 11.4.

当我为模拟器构建时,它似乎同时包括平台和模拟器模块。如何指定其中之一?

这个问题是在添加 cocoapods 和 swift 代码后大约一天突然出现的,但我不知道它是否相关。 (pods 的 sdk/deployment 目标也是 iOS 11.4,swift 版本是 4(除了 Socket.IO 使用的是 3)。

我的 pods 项目正在使用生成的模块映射(我根本没有编辑它):

framework module Pods_MyProjectName {
  umbrella header "Pods-MyProjectName-umbrella.h"

  export *
  module * { export * }
}

我用谷歌搜索了一遍又一遍这个问题,但没能找到任何解决方案。我试过清理和重建,删除 Library/Developer/Xcode/DerivedData 文件夹的内容,删除 pod 的 modulemap 文件,注释掉 pod 的 modulemap 文件的每一行,删除自问题开始以来编写的所有代码......我有我看错地方的感觉。

我和其他 pods 有同样的问题。我认为这个问题与也明确导入的递归依赖有关。我尝试了所有与您相同的方法,尽管唯一对我有帮助的是关闭 xcode、运行

pod deintegrate
pod install

并重建。