我正在尝试让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迁移工具时,我只会遇到编译错误。
有什么想法吗,或者我可以看一些文档以更好地理解这一点?
谢谢!
答案 0 :(得分:1)
通过调整测试目标中的SWIFT_MODULE_NAME属性,我能够部分解决此问题。
我测试的目标SWIFT_MODULE_NAME与主要目标名称相同,所以我更改了它