为模拟器构建时“重新定义模块...”

Ale*_*uer 8 xcode ios xcode9

Generic iOS Device我有一个 iOS xcode 项目,当我选择作为目标时,它可以正常构建。但是,当我选择任何模拟器选项时,构建会失败Redefinition of module 'abcde',并出现许多错误,每个模块中定义的错误都有一个iOS 11.4/usr/include/module.modulemap

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

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

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

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

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

  export *
  module * { export * }
}
Run Code Online (Sandbox Code Playgroud)

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

小智 5

我对其他 pod 也有同样的问题。我认为该问题与也显式导入的递归依赖项有关。我尝试了与你相同的所有操作,尽管唯一对我有帮助的是关闭 xcode,运行

pod deintegrate
pod install
Run Code Online (Sandbox Code Playgroud)

并重建。

  • 您好,这对我不起作用,您还有其他建议吗? (3认同)