Xcode 11.4 - โครงการเก็บถาวร - การแบ่งส่วนความผิดพลาด 11


12

ฉันเพิ่งอัปเดต Xcode เป็น 11.4 และเมื่อเก็บถาวรโครงการจะแสดง 'การแบ่งส่วนความผิดพลาด 11'

โครงการนี้จะเก็บถาวรด้วย Xcode 11.3.1 แต่ตอนนี้มันไม่ได้ ..

มีคนอื่นที่พบปัญหาเดียวกันหรือไม่

ป้อนคำอธิบายรูปภาพที่นี่

แก้ไข: 15 เมษายน 2020

Apple เพิ่งเปิดตัว Xcode 11.4.1


ดูที่โพสต์นี้: stackoverflow.com/a/42168123/2583679
Tom

3
@ Tom ขอบคุณ แต่ที่ไม่ได้แก้ไข .. ฉันค่อนข้างแน่ใจว่ามันเป็นข้อผิดพลาดของ Apple
Artur Marchetto

คำตอบ:


11

ฉันพบปัญหาเดียวกัน การเก็บถาวรใช้การกำหนดค่า Release building ดังนั้นฉันจึงผ่านการตั้งค่าคอมไพเลอร์ทุกครั้งเพื่อดูว่าข้อแตกต่างใดที่นำไปสู่ข้อบกพร่องของการแบ่งกลุ่มเหล่านี้

ในกรณีของฉันปัญหาจะหายไปเมื่อฉันเปลี่ยนการตั้งค่าเปิดใช้งานความสามารถในการทดสอบเป็นYESสำหรับการเปิดตัว

ไม่ฉันไม่ทราบว่าข้อเสียของสิ่งนี้อยู่ในที่เก็บถาวรหรือการสร้างการปล่อยหรือแน่นอนว่าทำไมการตั้งค่านี้ช่วยบรรเทาปัญหาได้ แต่ในตอนท้ายของวันฉันมีโครงการที่ใช้เวลาหนึ่งปีกว่าจะถึงขั้นนี้ และฉันกระตือรือร้นที่จะนำสิ่งนี้ไปยังผู้ทดสอบเบต้าภายในดังนั้นฉันจะส่งผ่านการทดสอบเที่ยวบินและดูว่าฉันจะไปอย่างไร

ความรู้สึกของฉันคือนี่เป็นข้อผิดพลาดของ Apple อย่างแน่นอนเนื่องจากคอมไพเลอร์ไม่ควร Seg Faulting เลย ความจริงมันรวบรวมภายใต้การกำหนดค่า Debug ให้ยืมสนับสนุนนี้ โครงการของฉันมีขนาดใหญ่มากจนฉันไม่รู้วิธีทำซ้ำเพื่อส่งบั๊ก แต่ฉันจะดูว่าฉันจะได้รับคำตอบบางอย่างจาก Apple Forums หรือไม่


พบปัญหาเดียวกันใน Xcode 11.4.1 การเปลี่ยนการตั้งค่านี้ก็ใช้ได้สำหรับฉันเช่นกัน เอกสารกล่าวว่าการตั้งค่าสถานะนี้เกี่ยวข้องกับการเข้าถึงอินเทอร์เฟซส่วนตัวดังนั้นอาจมีบางอย่างที่นั่น ... เมื่อเปิดใช้งานการตั้งค่านี้ผลิตภัณฑ์จะถูกสร้างขึ้นพร้อมตัวเลือกที่เหมาะสมสำหรับการเรียกใช้การทดสอบอัตโนมัติเช่นการเข้าถึงอินเทอร์เฟซส่วนตัว การทดสอบ ซึ่งอาจส่งผลให้การทดสอบทำงานช้าลงกว่าที่จะไม่เปิดใช้งานการทดสอบ
keegan3d

5

สำหรับผมช่วยในการค้นหาปัญหาเมื่อผมตั้งในการตั้งค่าการสร้างเพื่อSWIFT_COMPILATION_MODE wholemoduleจากนั้นหลังจากรวบรวมข้อผิดพลาดที่เฉพาะเจาะจงมากขึ้นซึ่งนำไปสู่การเรียนฟังก์ชั่นซึ่งทำให้เกิดข้อผิดพลาด หลังจากนั้นก็เปลี่ยนมันเหมือนเดิม

บางทีมันอาจช่วยคุณได้เช่นกัน

ในกรณีของฉันมีผู้ประกอบการที่ใช้ประกอบไปด้วยชุดพารามิเตอร์เริ่มต้นสำหรับอินพุต ดูเหมือนว่า Swift 5.2 จะไม่รองรับอีกต่อไป

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

2
ขอบคุณมาก!! คุณทำวันของฉัน !!
Nomnom

3
ที่แก้ไขข้อผิดพลาดเวลาสร้างของฉันด้วย ผู้ประกอบการที่สามในการเริ่มต้นพารามิเตอร์คือผู้กระทำผิด หวังว่า Apple จะแก้ไขข้อผิดพลาดในไม่ช้า
Dao Xiang

2
ฉันไม่ได้ทำซ้ำกับสวิฟท์สาขาต้นแบบgithub.com/apple/swift/tree/master ดังนั้นอาจแก้ไขแล้ว
Cœur

1

ในกรณีของฉันฉันมีข้อผิดพลาดกับ Eureka pod

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

ในไฟล์ Pod ฉันได้จัดหาเวอร์ชันล่าสุด:

pod 'Eureka', '~> 5.2.1'

ยังตั้งตั้งค่าให้SWIFT_COMPILATION_MODEwholemodule



0

เช่นเดียวกับผู้เผชิญเหตุอื่น ๆ มีปัญหา SwiftUI ฝังอยู่ในข้อความแสดงข้อผิดพลาดที่นี่ (ใช้ Xcode 11.4) ในกรณีของฉันการใช้.embedInScrollView()ทำให้เกิดข้อผิดพลาดในการสร้าง การปิดใช้งานการโทรเหล่านั้นแก้ไข เป็นวิธีแก้ปัญหาฉันใส่.embedInScrollView()ViewModifier เช่นนี้

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

    public init() {}
}

จากนั้นฉันจะใช้ตัวดัดแปลงนั้นเช่นการโทรเดิมเช่นนี้:

.modifier(WrapInScrollView())

ซึ่งหมายความว่าคุณยังสามารถฝังใน scrollView แต่ข้อผิดพลาด Seg 11 หายไป


0

น่าเสียดายโซลูชันการเปิดใช้งานความสามารถในการทดสอบใช้งานไม่ได้สำหรับฉัน

วิธีแก้ปัญหาชั่วคราว (จนกว่า Apple จะแก้ไขปัญหาคอมไพเลอร์ Xcode 11.4 Swift) คือการเปลี่ยนระดับการปรับให้เหมาะสมเป็น " ไม่มีการเพิ่มประสิทธิภาพ " สำหรับการวางจำหน่ายบนเป้าหมายที่ล้มเหลว ( SWIFT_OPTIMIZATION_LEVEL = "-Onone";) มันทำงานในโครงการของเราซึ่งแบ่งออกเป็นหลายกรอบ ต้องตั้งค่าเพียงหนึ่งรายการ-Ononeเท่านั้น

แต่เอกสารประกอบของ Appleขอให้ไม่ส่งรหัสของคุณด้วยการตั้งค่าสถานะนี้ ใช้สำหรับการพัฒนาทำการปรับแต่งให้น้อยที่สุดและเก็บรักษาข้อมูลการดีบักทั้งหมด

ฉันคิดว่าเราต้องรอ: '(


-1

ฉันได้รับข้อยกเว้นนี้และบันทึกการจัดเก็บช่วยให้ฉันเข้าใจว่ามันอยู่ในไฟล์ SwiftUI โดยเฉพาะ โดยกระบวนการของการกำจัดมันกลับกลายเป็นว่าฉันได้จากไปcontentInsets()แล้วและalwaysBounceVertical()ตัวดัดแปลงของสิ่งVStackที่ไม่ใช่ส่วนหนึ่งของList:

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

การลบตัวดัดแปลงเหล่านี้อนุญาตให้ที่เก็บถาวรรีลีสเสร็จสมบูรณ์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.