转换为 Swift 5 会产生'Multiple commands produce x86_64.swiftmodule'错误



我正在尝试让 Xcode 10.2 将我的混合 Objective-C/Swift 项目转换为使用 Swift 5。但是,每当我这样做时,由于以下错误而导致的编译文件

error: Multiple commands produce '/Users/<User>/Library/Developer/Xcode/DerivedData/SurgEval-chcbdqcuvbtwckedraqzdhwbsqpm/Build/Intermediates.noindex/SwiftMigration/SurgEval/Products/Debug-iphonesimulator/MYAPP.swiftmodule/x86_64.swiftmodule':
1) Target 'MYAPPTests' (project 'SurgEval'): Ditto /Users/alenox/Library/Developer/Xcode/DerivedData/SurgEval-chcbdqcuvbtwckedraqzdhwbsqpm/Build/Intermediates.noindex/SwiftMigration/SurgEval/Products/Debug-iphonesimulator/MYAPP.swiftmodule/x86_64.swiftmodule /Users/<User>/Library/Developer/Xcode/DerivedData/SurgEval-chcbdqcuvbtwckedraqzdhwbsqpm/Build/Intermediates.noindex/SwiftMigration/SurgEval/Intermediates.noindex/SurgEval.build/Debug-iphonesimulator/MYAPPTests.build/Objects-normal/x86_64/MYAPP.swiftmodule
2) Target 'SurgEval' (project 'SurgEval'): Ditto /Users/<User>/Library/Developer/Xcode/DerivedData/SurgEval-chcbdqcuvbtwckedraqzdhwbsqpm/Build/Intermediates.noindex/SwiftMigration/SurgEval/Products/Debug-iphonesimulator/MYAPPL.swiftmodule/x86_64.swiftmodule /Users/<User>/Library/Developer/Xcode/DerivedData/SurgEval-chcbdqcuvbtwckedraqzdhwbsqpm/Build/Intermediates.noindex/SwiftMigration/SurgEval/Intermediates.noindex/SurgEval.build/Debug-iphonesimulator/SurgEval.build/Objects-normal/x86_64/MYAPP.swiftmodule

我已经尝试按照其他类似问题中的建议切换到使用"遗留构建系统",但我想迁移到新的构建系统。

我还尝试按照另一个问题中的建议更改测试目标中的产品模块名称,但这破坏了我的测试。

应用程序和测试都可以正常构建和运行,否则,我只是在运行 Swift 5 迁移工具时出现编译错误。

知道这里发生了什么,或者我可以查看一些文档以更好地理解这一点吗?

谢谢!

我能够通过调整测试目标中的SWIFT_MODULE_NAME属性来部分解决此问题。

我的测试的目标SWIFT_MODULE_NAME与主目标名称相同,所以我更改了它

最新更新