Xcode 11.4 - Arşivleme projesi - Segmentasyon Hatası 11


12

Xcode'u 11.4'e güncelledim ve bir projeyi arşivlerken bana 'Segmentasyon Hatası 11' gösteriyor

Bu proje Xcode 11.3.1 ile arşivleyecekti ama şimdi ..

Başka biri de aynı sorunla karşılaştı mı?

resim açıklamasını buraya girin

Düzenleme: 15 Nisan 2020

Apple, Xcode 11.4.1'i piyasaya sürdü


Bu gönderiye bir göz atın: stackoverflow.com/a/42168123/2583679
Tom

3
@Tom teşekkür ederim, ancak bu düzeltmez .. Im emin onun bir Apple bug
Artur Marchetto

Yanıtlar:


11

Aynı sorunla karşılaştım. Arşivleme, Sürüm oluşturma yapılandırmasını kullanır, bu nedenle her bir derleyici ayarını inceleyerek farklılıklardan hangisinin bu Segmentasyon hatalarına yol açtığını anladım.

Benim durumumda Sorun ayarı değiştirdiğinizde kaybolur Testedilebilirlik etkinleştirme için EVET için Release .

Hayır, arşivde veya sürüm oluşturmada bunun olumsuz yönlerinin ne olduğu hakkında hiçbir fikrim yok veya gerçekten bu özel ortamın sorunu neden hafiflettiğini, ancak günün sonunda, bu aşamaya gelmek için bir yıl süren bir projem var ve bunu dahili beta test kullanıcılarına sunmaya çok hevesliyim, bu yüzden bunu test uçuşuyla göndereceğim ve nasıl gittiğimi göreceğim.

Benim düşüncem bu kesinlikle bir Apple hatası, derleyici hiç Seg Arızası olmamalıdır. Hata Ayıklama yapılandırması altında derlemesi, buna destek verir. Projem o kadar büyük ki, bir hata göndermek için bunu nasıl çoğaltacağımı bilmiyorum, ama Apple Forumlarında biraz yanıt alıp alamayacağımı göreceğim.


Xcode 11.4.1'de de aynı problemle karşılaştım, bu ayarı değiştirmek de benim için çalıştı. Dokümanlar, bu bayrağın özel arayüzleri erişilebilir hale getirmekle ilgili olduğunu söylüyor, belki orada bir şey var ... Bu ayar etkinleştirildiğinde, ürün, özel arayüzleri, testleri. Bu testlerin test edilebilirlik etkinleştirilmeden daha yavaş çalışmasına neden olabilir.
keegan3d

5

Benim için inşa ayarları SWIFT_COMPILATION_MODEyapmak için sorunu bulmak için yardımcı oldu wholemodule. Derledikten sonra hataya neden olan sınıf fonksiyonuna yol açan daha spesifik bir hata var. Daha sonra olduğu gibi değiştirdi.

Belki de size yardımcı olur.

Benim durumumda, init girdi param seti için üçlü operatör kullanıldı. Swift 5.2 artık desteklemiyor gibi görünüyor.

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

2
Çok teşekkür ederim!! günümü gün ettin!!
nomnom

3
Bu da derleme zamanı hatamı düzeltir. Varsayılan paramda üçlü bir operatör suçludur. Umarım Apple hatayı yakında düzeltir.
Dao Xiang

2
Swift ana kolu github.com/apple/swift/tree/master ile çoğaltmıyorum . Yani belki zaten düzeltildi.
Cœur

1

Benim durumumda Eureka kapsülü ile ilgili bir hatayla karşılaştım

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

Pods dosyasında en son sürümü sağladım:

pod 'Eureka', '~> 5.2.1'

Ayrıca set olarak SWIFT_COMPILATION_MODEayarlayın wholemodule.


0

Değiştim #imageLiteral(resourceName: "image_name")içinUIImage(imageLiteralResourceName: "image_name")


0

Diğer yanıt verenler gibi, buradaki hata iletilerine gömülü bir SwiftUI sorunu vardı (Xcode 11.4'ü kullanarak). Benim durumumda, kullanımı .embedInScrollView()hataya neden oluyordu. Bu çağrıları devre dışı bırakmak sorunu çözdü. Geçici bir çözüm olarak, şöyle .embedInScrollView()bir ViewModifier koydum :

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

    public init() {}
}

Sonra ben bu değiştirici orijinal çağrı gibi biraz kullanın, şöyle:

.modifier(WrapInScrollView())

Bu, yine de bir scrollView içine gömülebileceğiniz anlamına gelir, ancak Seg 11 hataları ortadan kalkar.


0

Ne yazık ki, Testability'yi Etkinleştir çözümü benim için çalışmadı.

Geçici bir çözüm (Apple, Xcode 11.4 Swift derleyici sorununu düzeltene kadar), Optimizasyon Düzeyini , başarısız olan hedefte Sürüm için " Optimizasyon Yok " olarak ayarlamaktır SWIFT_OPTIMIZATION_LEVEL = "-Onone";. Birden fazla çerçeveye bölünmüş olan projemizde çalışır. Sadece biri olarak ayarlanmalıdır -Onone.

Ancak Apple belgeleri kodunuzu bu bayrakla göndermemeyi ister . Geliştirme içindir, minimum optimizasyon gerçekleştirir ve tüm hata ayıklama bilgilerini korur.

Sanırım beklemek zorundayız: '(


-1

Bu istisnayı alıyordum ve arşiv günlükleri belirli bir SwiftUI dosyasında olduğunu anlamama yardımcı oldu. Eliminasyon sürecine göre, bıraktığım contentInsets()ve alwaysBounceVertical()üzerindeki bir değiştiricilerin bir VStackparçası değildi List:

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

Bu değiştiricilerin kaldırılması, yayın arşivinin başarıyla tamamlanmasını sağladı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.