Xcode 11.4 - Dự án lưu trữ - Lỗi phân đoạn 11


12

Tôi vừa cập nhật Xcode lên 11.4 và khi lưu trữ một dự án, nó hiển thị cho tôi 'Phân đoạn lỗi 11'

Dự án này sẽ lưu trữ với Xcode 11.3.1 nhưng bây giờ thì không ..

Bất cứ ai khác chạy vào cùng một vấn đề?

nhập mô tả hình ảnh ở đây

Chỉnh sửa: ngày 15 tháng 4 năm 2020

Apple vừa phát hành Xcode 11.4.1


Hãy xem bài đăng này: stackoverflow.com/a/42168123/2583679
Tom

3
@Tom cảm ơn bạn, tuy nhiên điều đó không khắc phục được .. tôi khá chắc chắn đó là lỗi của Apple
Artur Marchetto

Câu trả lời:


11

Tôi đã gặp vấn đề tương tự. Lưu trữ sử dụng cấu hình xây dựng Phát hành, vì vậy tôi đã duyệt qua mọi cài đặt trình biên dịch để tìm ra sự khác biệt nào dẫn đến các lỗi Phân đoạn này.

Trong trường hợp của tôi, sự cố sẽ biến mất khi tôi thay đổi cài đặt Bật Khả năng kiểm tra thành để phát hành .

Không, tôi không biết nhược điểm của việc này là gì trong kho lưu trữ hoặc bản phát hành, hoặc thực sự tại sao cài đặt cụ thể này làm giảm bớt vấn đề, nhưng vào cuối ngày, tôi có một dự án phải mất một năm để đi đến giai đoạn này và tôi rất muốn nhận nó cho những người thử nghiệm beta nội bộ vì vậy tôi sẽ gửi nó qua chuyến bay thử và xem tôi đi như thế nào.

Cảm giác của tôi là đây chắc chắn là một lỗi của Apple, vì trình biên dịch hoàn toàn không phải là Seg Faulting. Thực tế nó biên dịch theo cấu hình Debug cho vay hỗ trợ này. Dự án của tôi lớn đến mức tôi không biết cách tái tạo lỗi này để gửi lỗi, nhưng tôi sẽ xem liệu tôi có thể nhận được một số phản hồi trên Diễn đàn Apple hay không.


Gặp vấn đề tương tự trong Xcode 11.4.1, việc thay đổi cài đặt này cũng có hiệu quả với tôi. Các tài liệu nói rằng cờ này có liên quan đến việc làm cho các giao diện riêng tư có thể truy cập được, vì vậy có thể có một cái gì đó ở đó ... Khi cài đặt này được kích hoạt, sản phẩm sẽ được xây dựng với các tùy chọn phù hợp để chạy thử nghiệm tự động, chẳng hạn như có thể truy cập các giao diện riêng tư xét nghiệm. Điều này có thể dẫn đến các bài kiểm tra chạy chậm hơn so với khi không có khả năng kiểm tra được kích hoạt.
keegan3d

5

Đối với tôi đã giúp tìm ra vấn đề khi tôi thiết lập cài đặt xây dựng SWIFT_COMPILATION_MODEthành wholemodule. Sau đó, sau khi biên dịch có một lỗi cụ thể hơn dẫn đến hàm lớp gây ra lỗi. Sau đó thay đổi nó trở lại như cũ.

Có lẽ nó cũng giúp bạn.

Trong trường hợp của tôi, đã có toán tử ternary được sử dụng cho bộ param param init. Có vẻ như Swift 5.2 không hỗ trợ nó nữa.

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

2
Cảm ơn bạn rất nhiều!! bạn đã làm cho ngày của tôi !!
nomnom

3
Điều đó cũng sửa lỗi thời gian xây dựng của tôi. Một toán tử ternary mặc định param là thủ phạm. Hy vọng Apple sẽ sớm sửa lỗi.
Dao Xiang

2
Tôi không sao chép với nhánh chính của Swift github.com/apple/swift/tree/master . Vì vậy, có thể đã được sửa chữa.
Cur

1

Trong trường hợp của tôi, tôi đã có một lỗi với Eureka pod

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

Trong tệp Pods tôi đã cung cấp phiên bản mới nhất:

pod 'Eureka', '~> 5.2.1'

Cũng được SWIFT_COMPILATION_MODEđặt thành wholemodule.


0

Tôi đã đổi #imageLiteral(resourceName: "image_name")thànhUIImage(imageLiteralResourceName: "image_name")


0

Giống như những người phản hồi khác, có một vấn đề SwiftUI bị chôn vùi trong các thông báo lỗi ở đây (sử dụng Xcode 11.4). Trong trường hợp của tôi, việc sử dụng .embedInScrollView()đã gây ra lỗi xây dựng. Vô hiệu hóa những cuộc gọi đã sửa nó. Như một giải pháp thay thế, tôi đưa .embedInScrollView()vào ViewModifier, như thế này:

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

    public init() {}
}

Sau đó, tôi sử dụng công cụ sửa đổi đó một chút giống như cuộc gọi ban đầu, như thế này:

.modifier(WrapInScrollView())

Điều này có nghĩa là bạn vẫn có thể nhúng vào scrollView nhưng lỗi Seg 11 không còn nữa.


0

Thật không may, giải pháp Kích hoạt kiểm tra không hoạt động đối với tôi.

Cách giải quyết tạm thời (cho đến khi Apple sẽ khắc phục sự cố trình biên dịch Xcode 11.4 Swift) là biến Cấp độ tối ưu hóa thành " Không tối ưu hóa " cho Bản phát hành, trên mục tiêu không thành công ( SWIFT_OPTIMIZATION_LEVEL = "-Onone";). Nó hoạt động trên dự án của chúng tôi, được chia thành nhiều khung. Chỉ cần một được đặt thành -Onone.

Nhưng tài liệu của Apple yêu cầu không vận chuyển mã của bạn bằng cờ này . Đó là để phát triển, nó thực hiện tối ưu hóa tối thiểu và lưu giữ tất cả thông tin gỡ lỗi.

Tôi nghĩ rằng chúng ta phải chờ đợi: '(


-1

Tôi đã nhận được ngoại lệ này và nhật ký lưu trữ đã giúp tôi hiểu rằng nó nằm trong một tệp SwiftUI cụ thể. Theo quá trình loại bỏ, hóa ra tôi đã rời đi contentInsets()alwaysBounceVertical()sửa đổi trên VStackđó không phải là một phần của List:

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

Loại bỏ các sửa đổi này cho phép lưu trữ phát hành hoàn thành thành công.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.