मेरे प्रोजेक्ट को 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
ricardopereira 27 अक्टूबर 2020, 17:01

1 उत्तर

सबसे बढ़िया उत्तर

मुझे अपनी समस्या का हल मिल गया। त्रुटि CodeSign का उल्लेख कर रही है और यह Frameworks/CryptoSwift.framework से संबंधित है (यह ढांचा कार्थेज का उपयोग करके जुड़ा हुआ है), इसलिए मैंने अनुमान लगाया कि इसका CocoaPods से कोई लेना-देना नहीं है, लेकिन जिस तरह से कार्थेज ढांचे को शामिल किया गया है परीक्षण बंडल।

कार्थेज बिल्ड चरण से बस "कोड साइन ऑन कॉपी" को हटा दें।

Carthage test bundle build phases

2
ricardopereira 11 जिंदा 2021, 14:12