我正在将我的项目从 Carthage 迁移到 SPM。我正在使用 Xcode 12.0。构建主应用程序没有任何问题,但我无法再运行我的单元测试。我使用相同的框架 SwiftDate v6.2.0 在我的应用程序目标 (SPMD) 和我的应用程序测试目标 (SPMDTests) 中。
我已经解决了Swift package product 'your library' is linked as a static library by 'your project' and 'your widget'. This will result in duplication of library code.
.我跟着教程Swift Package Manager Static Dynamic Xcode Bug .
我可以运行我的应用程序,但我无法运行我的单元测试。错误说
Unexpected duplicate tasks:
1) Target 'SPMDTests' (project 'SPMD') has copy command from 'xxx/DerivedData/xxx/Build/Products/Debug-iphonesimulator/SwiftDate_SwiftDate.bundle' to 'xxx/DerivedData/xxx/Build/Products/Debug-iphonesimulator/SPMD.app/PlugIns/SPMDTests.xctest/SwiftDate_SwiftDate.bundle'
2) Target 'SPMDTests' (project 'SPMD') has copy command from 'xxx/DerivedData/xxx/Build/Products/Debug-iphonesimulator/SwiftDate_SwiftDate.bundle' to 'xxx/DerivedData/xxx/Build/Products/Debug-iphonesimulator/SPMD.app/PlugIns/SPMDTests.xctest/SwiftDate_SwiftDate.bundle'
我在 Realm 上尝试了相同的设置,并且没有任何问题。这是 SwiftDate 的错误还是我遗漏了什么?
最佳答案
在 Xcode 12(也在 Xcode 12.2 beta 中)包含资源的 Swift Packages 的实现中似乎存在一个错误。
仅当您依赖在主目标和单元测试目标中都具有资源(SwiftDate 具有)的包时,才会出现此问题。这个错误似乎只影响单元测试目标的编译,所以主应用程序目标应该仍然编译成功。
关于xcode - Swift 包管理器 - 意外的重复任务 : Target AppTests (project App) has copy command - SwiftDate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64129750/