转换为Swift 5会产生“多个命令会产生x86_64.swiftmodule”错误

时间:2019-03-29 20:52:55

标签: swift5 xcode10.2

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

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迁移工具时,我只会遇到编译错误。

有什么想法吗,或者我可以看一些文档以更好地理解这一点?

谢谢!

1 个答案:

答案 0 :(得分:1)

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

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