Xcode 11.4-보관 프로젝트-분할 오류 11


12

방금 Xcode를 11.4로 업데이트했으며 프로젝트를 보관하면 '세그먼트 결함 11'이 표시됩니다.

이 프로젝트는 Xcode 11.3.1로 보관하지만 현재는 그렇지 않습니다.

다른 사람이 같은 문제를 겪었습니까?

여기에 이미지 설명을 입력하십시오

편집 : 2020 년 4 월 15 일

애플은 방금 Xcode 11.4.1을 출시


이 게시물을 살펴보십시오 : stackoverflow.com/a/42168123/2583679
Tom

3
@Tom은 고맙지 만, 고쳐지지는 않습니다. im 애플 버그
Artur Marchetto

답변:


11

나는 같은 문제에 부딪쳤다. 아카이빙은 릴리스 빌딩 구성을 사용하므로 모든 분할 영역 설정을 통해 이러한 분할 오류로 이어지는 차이점을 해결했습니다.

내 경우에는 문제는 설정이 변경 될 때 사라 테스트 용이성 사용YES 를위한 릴리스 .

아니요. 아카이브 또는 릴리스 빌드에 어떤 단점이 있는지, 또는 실제로이 특정 설정으로 문제가 완화되는 이유를 모르겠지만 하루가 끝나면이 단계에 도달하는 데 1 년이 걸린 프로젝트가 있습니다. 내부 베타 테스터에게이 기능을 제공하고 싶어서 테스트 비행을 통해 제출하고 어떻게 진행되는지 확인할 것입니다.

필자는 컴파일러가 Seg Faulting이 아니어야하므로 Apple 버그라고 생각합니다. 디버그 구성에서 컴파일한다는 사실은 이에 대한 지원을 제공합니다. 내 프로젝트가 너무 커서 버그를 제출하기 위해 이것을 재현하는 방법을 모르지만 Apple 포럼에서 응답을 얻을 수 있는지 볼 수 있습니다.


이 설정을 변경하면 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
Swift 마스터 브랜치 github.com/apple/swift/tree/master로 재현하지 않습니다 . 아마 이미 수정되었을 것입니다.
Cœur

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

다른 응답자와 마찬가지로 여기에 오류 메시지 (Xcode 11.4 사용)에 SwiftUI 문제가 묻혀있었습니다. 제 경우 .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.