#xcode #cocoapods #xctest #carthage
#xcode #cocoapods #xctest #carthage
Вопрос:
После обновления моего проекта до Xcode 12 набор тестов перестал работать. Цель тестов не компилируется, завершается с ошибкой:
Cycle inside <redacted>Tests; building could produce unreliable results. This usually can be resolved by moving the shell script phase '[CP] Embed Pods Frameworks' so that it runs before the build phase that depends on its outputs.
Cycle details:
→ Target '<redacted>Tests' has copy command from '/Applications/Xcode12.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks/XCTAutomationSupport.framework' to '<redacted>/Library/Developer/Xcode/DerivedData/<redacted>-bxjgdjscysiavpfrzmquaqdkncsl/Build/Products/Debug-iphonesimulator/<redacted>.app/Frameworks/XCTAutomationSupport.framework'
○ Target '<redacted>Tests': CodeSign <redacted>/Library/Developer/Xcode/DerivedData/<redacted>-bxjgdjscysiavpfrzmquaqdkncsl/Build/Products/Debug-iphonesimulator/<redacted>.app/PlugIns/<redacted>Tests.xctest/Frameworks/CryptoSwift.framework
○ That command depends on command in Target '<redacted>Tests': script phase “[CP] Embed Pods Frameworks”
Сценарий является последней фазой сборки в цели, поэтому я немного потерялся. Есть какие-либо подсказки? Спасибо.
Ответ №1:
Я нашел решение своей проблемы. Ошибка упоминается CodeSign
и связана с Frameworks/CryptoSwift.framework
(этот фреймворк связан с использованием Carthage), поэтому я предположил, что это не имеет ничего общего с CocoaPods, а с тем, как фреймворки Carthage включены в тестовый пакет.
Просто удалите «Знак кода при копировании» с этапа сборки Carthage.