Xcode 11.4-アーカイブプロジェクト-セグメンテーション違反11


12

Xcodeを11.4に更新したところ、プロジェクトをアーカイブすると「セグメンテーション違反11」が表示されました。

このプロジェクトはXcode 11.3.1でアーカイブしますが、現在はアーカイブしません。

他の誰かが同じ問題に遭遇しましたか?

ここに画像の説明を入力してください

編集:2020年4月15日

AppleはXcode 11.4.1をリリースしました


この投稿をご覧ください
Tom

3
@トムありがとう、しかしそれはそれを修正しません..私はかなりそれがAppleのバグであることを確信しています
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では再現していません。したがって、おそらくすでに修正されています。
クール

1

私の場合、Eurekaポッドでエラーが発生しました

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

ポッドファイルで私は最新バージョンを提供しました:

pod 'Eureka', '~> 5.2.1'

また、に設定SWIFT_COMPILATION_MODEwholemoduleます。


0

に変わっ#imageLiteral(resourceName: "image_name")UIImage(imageLiteralResourceName: "image_name")


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

残念ながら、Enable Testabilityソリューションは私には機能しませんでした。

一時的な回避策(AppleがXcode 11.4 Swiftコンパイラの問題を修正するまで)は、失敗したターゲットで、リリースの最適化レベルを「最適化なし」に変更することです(SWIFT_OPTIMIZATION_LEVEL = "-Onone";)。複数のフレームワークに分割されている私たちのプロジェクトで動作します。1つだけをに設定する必要があります-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.