#xcode #swift-package-manager #swiftdate
#xcode #swift-package-manager #swiftdate
Вопрос:
Я переношу свой проект из Carthage в SPM. Я использую Xcode 12.0. Сборка основного приложения работает без каких-либо проблем, но я больше не могу запускать свои модульные тесты. Я использую ту же платформу SwiftDate версии 6.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.
. Я следил за статической динамической ошибкой Xcode в менеджере пакетов Swift.
Я могу запустить свое приложение, но не могу запустить свои модульные тесты. Ошибка гласит
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 или я что-то пропустил?
Комментарии:
1. Не могли бы вы решить эту проблему?
2. 2021, и я только что столкнулся с этим. Еще не повезло? Может быть, в последней бета-версии XCode этой проблемы нет?
Ответ №1:
Похоже, что в реализации пакетов Swift, которые включают ресурсы в Xcode 12 (также в бета-версии Xcode 12.2), есть ошибка.
Эта проблема возникнет только в том случае, если у вас есть зависимость от пакета, у которого есть ресурсы (SwiftDate есть) как для вашей основной цели, так и для вашей цели модульного тестирования. Эта ошибка, похоже, влияет только на компиляцию цели модульного тестирования, поэтому основная цель приложения все равно должна успешно скомпилироваться.
Комментарии:
1. Да, это влияет только на мою цель модульного тестирования. Вы знаете, существует ли официальное сообщение об ошибке?
2. Несколько дней назад я открыл отчет об отзывах (FB8751233), пока ответа не было. Я считаю, что это ошибка в «новой системе сборки» в Xcode и в том, как она реализовала обработку пакетов swift, содержащих ресурсы, поэтому я не открывал отчет об ошибке в трекере ошибок проекта с открытым исходным кодом.
3. Я столкнулся с той же проблемой, вы нашли способ ее обойти?
4. Просто полагаясь на SO, мы видим ту же проблему и отправили как радар, так и bugs.swift.org/browse/SR-13739
5. Я также открыл отзыв, ответа от Apple пока нет.