Xcode 11.4 - संग्रह परियोजना - विभाजन दोष 11


12

I ने Xcode को 11.4 में अपडेट किया और एक प्रोजेक्ट को संग्रहीत करते समय यह मुझे 'सेगमेंटेशन फॉल्ट 11' दिखाता है।

यह प्रोजेक्ट Xcode 11.3.1 के साथ संग्रह करेगा लेकिन अब यह नहीं है।

किसी और को उसी मुद्दे में भाग गया?

यहाँ छवि विवरण दर्ज करें

संपादित करें: 15 अप्रैल 2020

Apple ने सिर्फ Xcode 11.4.1 जारी किया


इस पोस्ट पर एक नज़र डालें: stackoverflow.com/a/42168123/2583679
टॉम

3
@ धन्यवाद, हालांकि, जो इसे ठीक नहीं करता है .. इम यकीन है कि एक Apple बग
Artur Marchetto

जवाबों:


11

मैं एक ही मुद्दे में भाग गया। आर्काइविंग रिलीज़ बिल्डिंग कॉन्फ़िगरेशन का उपयोग करता है, इसलिए मैं हर कंपाइलर सेटिंग के माध्यम से यह पता लगाने के लिए काम करता हूं कि इन सेगमेंटेशन दोषों में से कौन सा अंतर होता है।

मेरे मामले में समस्या तब गायब हो जाती है जब मैं सेटिंग को सक्षम करता हूं रिलीज़ करने के लिए हां में परीक्षण क्षमता सक्षम करें

नहीं, मुझे पता नहीं है कि संग्रह या रिलीज़ बिल्ड में इसके लिए क्या गिरावट है, या वास्तव में यह विशेष सेटिंग समस्या को क्यों कम करती है, लेकिन दिन के अंत में, मेरे पास एक ऐसा प्रोजेक्ट है जिसे इस चरण में लाने के लिए एक वर्ष का समय लगा है और मैं इसे आंतरिक बीटा परीक्षकों को प्राप्त करने के लिए बहुत उत्सुक हूं, इसलिए मैं इसे परीक्षण उड़ान के माध्यम से प्रस्तुत करने जा रहा हूं और देखता हूं कि मैं कैसे जाता हूं।

मेरी भावना यह निश्चित रूप से एक Apple बग है, क्योंकि कंपाइलर सेग फॉल्टिंग बिल्कुल नहीं होना चाहिए। तथ्य यह है कि यह डीबग कॉन्फ़िगरेशन के तहत संकलित करता है इस के लिए समर्थन उधार देता है। मेरा प्रोजेक्ट इतना बड़ा है कि मैं यह नहीं जानता कि बग को प्रस्तुत करने के लिए इसे कैसे पुन: पेश किया जाए, लेकिन मैं देखूंगा कि क्या मुझे एप्पल के मंच पर कुछ प्रतिक्रिया मिल सकती है।


Xcode 11.4.1 में उसी समस्या में भाग गया, इस सेटिंग को बदलने से मेरे लिए भी काम किया। डॉक्स का कहना है कि इस झंडे का निजी इंटरफेस को सुलभ बनाना है, इसलिए शायद वहाँ कुछ है ... जब यह सेटिंग सक्रिय हो जाती है, तो उत्पाद स्वचालित परीक्षणों को चलाने के लिए उपयुक्त विकल्पों के साथ बनाया जाएगा, जैसे कि निजी इंटरफेस को सुलभ बनाना परीक्षण। इसके परिणामस्वरूप परीक्षण धीमी गति से चल सकते हैं, क्योंकि वे बिना सक्षमता के परीक्षण कर सकते हैं।
keegan3d

5

मेरे लिए समस्या का पता लगाने में मदद करने के लिए जब मैं सेटिंग में सेट SWIFT_COMPILATION_MODEकरने के लिए wholemodule। फिर संकलन करने के बाद एक अधिक विशिष्ट त्रुटि हुई जिसके कारण वर्ग समारोह में त्रुटि हुई। बाद में इसे वापस बदल दिया जैसा कि यह था।

शायद यह आपकी मदद भी करे।

मेरे मामले में, इनिट इनपुट परम सेट के लिए टर्नरी ऑपरेटर का उपयोग किया गया था। स्विफ्ट 5.2 की तरह लगता है अब यह समर्थन नहीं करते।

// Leads to error with Xcode 11.4
init(value: UIColor = Constants.staticBoolean ? .white : .green)

2
बहुत बहुत धन्यवाद!! आपने मेरा दिन बना दिया!!
नोमन

3
यह मेरी बिल्ड टाइम त्रुटि को भी ठीक करता है। डिफ़ॉल्ट परम में एक सहायक ऑपरेटर अपराधी है। आशा है कि Apple जल्द ही बग को ठीक कर देगा।
दाओ जियांग

2
मैं स्विफ्ट मास्टर ब्रांच github.com/apple/swift/tree/master के साथ रिप्रेजेंट नहीं कर रहा हूं । तो शायद पहले से तय है।
कोयूर

1

मेरे मामले में मुझे यूरेका पॉड में त्रुटि हुई

Segmentation fault: 11 (in target 'Eureka' from project 'Pods')

पॉड्स फ़ाइल में मैंने नवीनतम संस्करण प्रदान किया है:

pod 'Eureka', '~> 5.2.1'

को भी सेट SWIFT_COMPILATION_MODEकिया गया wholemodule


0

मैं बदल #imageLiteral(resourceName: "image_name")गयाUIImage(imageLiteralResourceName: "image_name")


0

अन्य उत्तरदाताओं की तरह, यहां त्रुटि संदेशों में दफन एक स्विफ्टयूआई मुद्दा था (एक्सकोड 11.4 का उपयोग करके)। मेरे मामले में, का उपयोग .embedInScrollView()बिल्ड त्रुटि का कारण बन रहा था। उन कॉल्स को डिसेबल कर इसे ठीक कर लें। वर्कअराउंड के रूप में, मैं .embedInScrollView()इस तरह एक ViewModifier में डाल दिया :

public struct WrapInScrollView: ViewModifier {
    public func body(content: Content) -> some View {
        content
            .embedInScrollView()
    }

    public init() {}
}

फिर मैं उस संशोधक का उपयोग मूल कॉल की तरह थोड़ा सा करता हूं, जैसे:

.modifier(WrapInScrollView())

इसका मतलब है कि आप अभी भी एक स्क्रॉल दृश्य में एम्बेड कर सकते हैं, लेकिन Seg 11 त्रुटियां दूर हो जाती हैं।


0

दुर्भाग्य से, सक्षमता को सक्षम करें परीक्षण समाधान मेरे लिए काम नहीं किया।

एक अस्थायी वर्कअराउंड (जब तक कि ऐप्पल Xcode 11.4 स्विफ्ट कंपाइलर इश्यू को ठीक कर देगा) को ऑप्टिमाइज़ेशन लेवल को रिलीज़ करने के लिए " नो ऑप्टिमाइज़ेशन " चालू करना है , जो असफल होने पर (SWIFT_OPTIMIZATION_LEVEL = "-Onone"; )। यह हमारी परियोजना पर काम करता है, जो कई रूपरेखाओं में विभाजित है। बस एक को सेट करने की जरूरत है -Onone

लेकिन Apple प्रलेखन से पूछता है इस ध्वज के साथ आपके कोड को शिपिंग नहीं । यह विकास के लिए है, यह न्यूनतम अनुकूलन करता है और सभी डिबग जानकारी को संरक्षित करता है।

मुझे लगता है कि हमें इंतजार करना होगा: '(


-1

मुझे यह अपवाद मिल रहा था, और संग्रह लॉग ने मुझे यह समझने में मदद की कि यह एक विशेष स्विफ्टयूआई फ़ाइल के भीतर था। उन्मूलन की प्रक्रिया से, यह पता चला है कि मैंने छोड़ दिया था contentInsets()और उस alwaysBounceVertical()पर संशोधक का VStackहिस्सा नहीं था List:

VStack {
    // more stuff
}
.contentInsets(UIEdgeInsets(top: 20, left: 0, bottom: 0, right: 0))
.alwaysBounceVertical()

इन संशोधकों को हटाकर रिलीज़ संग्रह को सफलतापूर्वक पूरा करने की अनुमति दी गई।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.