dyld`__abort_with_payload: Hata mesajı yok


86

Uygulamamı XCode ile başlattığımda kilitleniyor ama hata yok

Uygulama sadece bu ileti dizisinde duruyor

görüntü açıklamasını buraya girin

Konu hakkında daha fazla bilgi sahibi olmak için ne yapabilirim?

Yanıtlar:


107

Özel çerçeveler kullanıyorsanız, bunu Hedef / Genel sekmesinin altındaki Xcode projesinde bulunan "Gömülü İkili Dosyalar" bölümüne koymanız gerekir.


1
Özel bir çerçevem ​​var ve Xcode Projesinde Hedef> Genel altında "Gömülü İkili Dosyalar" altında listeleniyor. Birim testlerimi çalıştırmaya çalıştığımda hala bu sorunu alıyorum. Kısa bir süre önce kodumun Swift bölümlerini Swift 3'e (2'den) yükselttim. Eğer bu yardımcı olursa ...
Mario A Guzman

@MarioAGuzman Nasıl düzelttiniz? Swift 3'e geçişten sonra da sorunla karşılaşıyorum
iOS

@iOS Maalesef gerçek bir düzeltmedim. Sorun, yeni piyasaya sürülen Xcode 8.3 ile kendi kendine çözüldü.
Mario A Guzman

Bunun neden Gömülü İkililer bölümünde olması gerekiyor? ObjectiveDropboxOfficial.framework kullanmaya çalışıyorum. Bu hatayı alıyordum, Gömülü'ye koydum ve 'düzeltti'. Ancak tekrar çıkardım ve 'sabit' kaldı. Yine de aynı AFAICT ile yapılandırılmış diğer hedefler başarısız olur. Dropbox yükleme belgeleri, Gömülü Çerçevelere koymayı söylemez.
Jim Leask

Bu yardımcı oldu. Ayrıca "Bağlantılı Çerçeveler ve Kitaplıklar" da kopyalarınız olmadığından emin olun. Gömülü bölüme eklediğinizde, otomatik olarak Bağlantılı bölüme ekler.
milmeow

60

Benim için basit Cleanve Rebuildçözüldü. Umarım yardımcı olur.


81
Temiz, Derleme Klasörünü Temizleyin, Türetilmiş Veri klasörünün içeriğini silin, Pod kurulumu (uygun olduğunda), Xcode'u yeniden başlatın, makineyi yeniden başlatın; sonra iyi önlem almak için kapıya biraz kuzu kanı
sürün

1
Bana da yardımcı oldu !!
Dmitriy Greh

Dizin silme ve git den taahhüt geçen yardım alma değil, ama temiz ve yardımcı yeniden oluşturma lol
えるまる

8
Benim durumumda, kapımın çerçevesine acı biber ve limon bağlamak zorunda kaldım.
Naresh

1
İlk doğan oğlumu da feda etmek zorunda kaldım ama işe yaradı!
Andor Németh

26

görüntü açıklamasını buraya girinBu sorun, macOS 10.15.2 beta sürümüne kadar sistem güncellemesinden sonra ortaya çıktı. "Thread Sanitizer" ın devre dışı bırakılması sorunu çözdü (Xcode 11.2). Şimdi Thread Sanitizer'ı kullanamıyorum ve bir sonraki işletim sistemi güncellemesini beklemem gerekiyor.


6
Bu gönderi, Mac 10.15.2'ye yükselttikten sonra Xcode 11.3 simülatörlerinde sorun ortaya çıktığında orijinal sorulara cevap verir. Görünüşe göre Apple hatası, forums.developer.apple.com/thread/126891
Vadim Motorine

19

Çerçeveyi gömülü ikili varlık listesine eklemek bu sorunu çözdü. Gömülü Çerçeve olarak Xcode GUI'de yabancı bir çerçevenin kurulumu son haliyle şöyle görünüyor (Xcode 9.2, kişisel olarak görsel bir ekmek kırıntısı izini daha çok seviyorum ;-)): görüntü açıklamasını buraya girin

Apple, geliştiriciye, iOS geliştirmede basitçe bağlantılı çerçeveler olarak Apple dışı çerçeveleri kullanamayacağınızı anlatmak için çalışma zamanını kasıtlı olarak mı çökertdi? Bunun bir yapı hatası olarak ortaya çıkması daha iyi olurdu sanırım ... "Taşı!" Diyen bir düğmeyle.

Gömülü İkili Dosyaların kullanımı, son kullanıcının Framework'ü uygulamanızdan bağımsız olarak eklemek zorunda kalmasını engeller (veya bir yükleyiciyle yaptığınız gibi). İPhone (iOS) söz konusu olduğunda, bu imkansızdır, ancak macOS'ta bu mümkündür, ancak hızla dağılabilir.

Son kullanıcı için, bir uygulamayı macOS'a yüklemek için sürükleyip bırakmak çok daha hoş, bu da gömülü bir avantaj haline geliyor. Gömme ayrıca, çerçevenizin harici sürümlerinin yönetilmesi için klasik "DLL çakışmalarını" da önler. (disk alanı ucuz, müşterimin zamanı değerlidir).


Küçük güncelleme. Xcode 10.1 artık özel çerçeveyi varsayılan olarak gittiği "Kitaplıklarla İkili Bağlantı Kur" bölümünden olması gereken "Paket Kaynaklarını Kopyala" bölümüne sürüklemenize izin veriyor ... Artık sadece referansı kopyalamıyor ama onu da hareket ettiriyor. Ekran
görüntüsü

13

Az önce projemdeki hatayı düzelttim!
Object-C projesinde swift framework kullanıyorsanız, build ayarlarını değiştirmenizi tavsiye ederim.
Swift Standart Kitaplıkları seçeneğini her zaman EVET'e dahil edin. bunun gibi:görüntü açıklamasını buraya girin

umarım bu sizin için yararlı olmuştur.


Projemde (görünüşe göre) hızlı kod olmasa bile bu benim için çalıştı.
Jim75

XCode Değeri Hayır olarak değiştirildi ve bunu unutmuştum. Teşekkürler :)
SeikoTheWiz

13

Sonunda çözüldü!

Benim için işe yarayan, çerçeveyi "gerekli" yerine "isteğe bağlı" yapmaktı.

Umarım yardımcı olur!


süper adam, bu problemle 1,5 gün savaştım. hatta bu güzel matrisi buldum twitter.com/isupportmatrix onu gerekli olarak değiştirerek benim tarafımda da çözüldü
swift2geek

ve ayrıca sadece Dosya -> Proje Ayarları-> Eski yapı sistemi
swift2geek

11

Xcode 11.1 , Kapat Do not Embed, Embed & Signgüzel bir seçenek.

0

222

Teşekkürler @mkonovalov, @William Cerniuk


1
Benim için çalıştı. +1
abhimuralidharan

1
Zorunlu durumdaki bu adım, özel çerçevenizi Uygulamanıza yerleştirmeye çalışıyorsunuz.
Akash Bhardwaj

6

1) Hata ayıklayıcıda "MyFramework.framework" gibi herhangi bir mesaj bulunup bulunmadığını görmek için yürütmeye devam edin. Durum buysa, şu tartışmayı izleyin: OS X Çerçeve Kitaplığı yüklenmedi: 'Görüntü bulunamadı' Benim için bu yanıt işe yaradı: https://stackoverflow.com/a/44796734/4060763

2) İkili dosyalarınızı "Embed Binaries" bölümü aracılığıyla eklediğinizden emin olun.

3) Derleme aşamasında çerçevelerin imzalanmasını etkinleştirdiğinizden emin olun.

4) Gömülü çerçevelerin sembolik bağlar olmadığından emin olun.

5) "Link binary with libraries" aşamasında gerekli olmak yerine bağlantılı çerçeveleri isteğe bağlı yapabilirsiniz. Bu, iOS'a başlatma sırasında bu çerçeveleri aramamasını söyleyecektir. Ancak yine de bu çerçeveleri kullanmak için hataları düzeltmeniz gerekiyor!

6) Tüm info.plist girişlerinin iyi olup olmadığını kontrol edin. Benim durumumda, iOS için bir Mac info.plist dosyası kullanıyordum. İOS projesinde bulunmayan bazı xib dosyası arıyordu.

7) Böyle bir değişiklikten sonra temizleyin ve inşa edin. Bu gereklidir çünkü xcode bu dosyaları zaten mevcutsa kopyalamaz / değiştirmez.

8) Uygulamayı iPad'den kaldırın ve ardından yükleyin. 7 ile aynı sebep.


6

Teşhiste "Guard Malloc" un işaretini kaldırmak benim için çalıştı. Ayarlar için Resme bakın


2
Guard Mallocdoğru olmak gerekirse. Kazayı neden düzelttiğini bilen var mı?
Mojo66

1
Ayrıca, projeyi temizlemeyi deneyebilir ve ardından tekrar çalıştırabilir veya Xcode'u yeniden başlatabilirsiniz. Bu tür hatalar sadece can sıkıcı ve
Xcode'daki

5

"Sorun hakkında daha fazla bilgi sahibi olmak için ne yapabilirim?" Sorusunu yanıtlamak için, bu Apple forum başlığı çok basit bir ipucu sağlıyor: çökmekte olan uygulamanızı XCode dışında çalıştırın (yani XCode'dan durdurun, ardından cihazınızda manuel olarak çalıştırın. cihaz). Bu, ne olduğu hakkında daha fazla ayrıntı içeren bir kilitlenme günlüğü oluşturacaktır. Daha sonra bu günlüğü XCode Penceresi menüsünden / Aygıtlar ve Simülatörler -> Aygıt Günlüklerini Görüntüle'den inceleyebilirsiniz.


4

İnfo.plist içindeki "Gizlilik - Kamera Kullanım Açıklamasını" uygulamayı kaçırmıştım.

Bu bilginin başka birine yardımcı olup olmadığını bilmiyorum ...



3

Aynı imzaya sahip bir hatayla karşılaştım (projem Obj-C'deydi) ve uygun çerçeve ile bağlantı kurmayı unuttuğumu keşfettim. Hata ayıklama günlüğündeki hatanın bulunmasına neden olan hata mesajı şuydu:

dyld: Sembol bulunamadı: _OBJC_CLASS _ $ _ SFSafariViewController

Özel hatam için, Hedefler -> Derleme Aşamaları -> "Kitaplıklarla İkili Bağlantı Kur" içine SafariServices.framework eklemek sorunu çözdü. Muhtemelen aynı hataya ve çözüme sahip olmasanız da, ipuçları için hata ayıklama günlüğünü kontrol etmek yararlıdır.


2

Ben güncelleme sonra bu durumu yaşadım v10.2.1 Xcode ve v5.0 için swift Eğer carthage + RxSwift yeni RxSwift kullanımlarını kullanıyorsanız RxRelay.framework. / Carthage / Build dizininize gidip bu çerçeveyi bulun ve projenize çizin. carthage copy-frameworksSenaryonuza da eklemeyi unutmayın : $(SRCROOT)/Carthage/Build/iOS/RxRelay.framework

Şunun sayesinde çözüldü: https://stackoverflow.com/a/52550148/2493555


1

Bir Objective-C uygulamasında Swift ile yazılmış bir çerçeve kullanıyorsanız, çerçeveyi tüketen uygulamaya Swift araç zincirini eklemeniz gerekir.

Bunu yapmanın yolu, uygulamada sahte bir hızlı dosya oluşturmaktır, böylece XCode hızlı bir şekilde tanır ve projeye uygun şekilde ekler. Daha sonra kukla dosyayı silebilirsiniz.

Birisi, hızlı bir dosya eklemeden bir hedef-c projesine açıkça hızlı eklemenin daha iyi bir yolunu bilseydi çok isterim.


1

Carthage derleme çerçevesini kullanıyorsanız, çerçeveyi projenize sürükledikten sonra, bunu General / Embeded Binaries'e eklemelisiniz.


1

Çözmenin doğru yolunu buluyorum.

AppleWWDRCA.cerSistem varsayılan modunu ayarladığınızdan emin olun , ardından çalışacaktır:

görüntü açıklamasını buraya girin


Benim için de çalıştı.
dev_shanghai

1

Ben de aynı sorunla karşı karşıyaydım. Hedefimin Derleme Ayarlarında 'Her Zaman Swift Standart Kitaplıklarını Yerleştir' seçeneğini Evet olarak ayarlamak benim için çalıştı.


1

Plist'teki izin belirtiminin eksik olması nedeniyle çözülen benzer bir sorunla karşılaştım (ne kadar tuhaf da ..)

AVCaptureDevice'i kullanmayı denedim ve başlangıçta çöktü (uygulamam çok azdı)

Ekleme - benim Privacy - Camera Usage Description için info.plistçözmek için.


1

Ayrıca, özel çerçeveler kullanıyorsanız, Mach-O türünü statik kitaplığa ayarladığınızdan emin olun. IOS'un dylib'e izin vermediği bir yerde okudum. Neyse bu benim için çalıştı.


1

Bu hatayla uzun karşılaşmalar listesine eklemek için, dağıtım hedefi MacOS 11.0 olarak ayarlı olarak MacOS 10.15.5 çalıştıran Mac'ime dağıtım XCode12.2 Beta 2 üzerindeyken ortaya çıkıyor. Bu durum, bir SideBar eklerken Mac Catalyst Tutorial uygulamasını denediğim için oldu. Hedefi MacOS 10.15.5 olarak değiştirmek hatayı ortadan kaldırdı ve uygulamayı düzgün bir şekilde başlattı.


0

Projemdeki hatamı düzelttim.
1. Hata oluştuğunda diğer konuları kontrol edin. Hatamın kamera ile ilgili olduğunu buldum.

görüntü açıklamasını buraya girin

  1. Info.plist dosyasına Kamera gizliliğini ekleyin.
    1) info.plist dosyasını açın.
    2) "Gizlilik - Kamera Kullanım Açıklaması" adlı yeni bir anahtar ekleyin ve uygulamanın neden kamera gerektirdiğini açıklayan bir dize girin. Açıklamalar, uygulamanızın gizliliği kullanması gerektiğinde görüntülenecektir.

görüntü açıklamasını buraya girin


0

Yeni bir macOS Mojave güncellemesinden sonra Geliştirici Sertifikalarımı iptal edip Xcode 10 ile yenilerini oluşturduğum gerçeğinden dolayı aynı sorunu yaşadım ve bunun nedeni (bazıları için tüm oturum açma kimlik bilgilerini sildi ve bazılarını eski anahtarlık sertifikaları).

Bu yüzden, tek yapmam gereken, cihazıma doğru yeni Temel Hazırlık Profilini kurması için yüklü uygulamaları cihazımdan kaldırıp Xcode üzerinden tekrar çalıştırmaktı :)


0

Bazen, yalnızca hedef sürümünüzün daha sonraki iOS sürümünden erişilebilen sistem çerçevelerini kullandığınızda olur. Bu bağlantılı çerçeveyi isteğe bağlı olarak işaretleyerek düzeltilebilir.

Örneğin, iOS 11'i hedefleyen ve iOS 12 için AuthenticationServices'i kullanan bir proje , iOS 11'de açıklanan şekilde çökecektir.


0

Aslında, 11.3.1 ile ilgili sorun yaşadım ve Thread Sanitizer yukarıda belirtildiği gibi zaten kapatılmıştı. Benim durumumda sorun, Uygulama klasörümde bunun gibi farklı xCode sürümlerine sahiptim

/Applications/xcode11.3.1/Xcode.app
/Applications/xcode11.3/Xcode.app
/Applications/xcode10.1/Xcode.app

ve

/Applications/Xcode.app - was 11.2

Derleme sisteminin varsayılan olarak /Applications/Xcode.app üzerinde göründüğünü anlamam 2 günümü alıyor. Dolayısıyla, 11.3.1'i /Applications/Xcode.app'a getirmek sorunu nihayet çözer


0

Aynı sorun benimle de oldu. İOS 14 Beta kullanıyordum ve resmi sürüme güncellediğimde sorun düzeltildi.


-1

Bu sorunu yalnızca gerçek cihazda (iPhone SE) çalışırken yaşadım. Simülatör projesinde beklendiği gibi çalıştı.

Bu iş parçacığından ve buradan tüm düzeltmeleri denedim: OS X Çerçeve Kitaplığı yüklenmedi: 'Görüntü bulunamadı' Bunların hiçbiri benim için çalışmadı.

Benim için sorun iPhone'u yeniden başlattıktan sonra çözüldü (sic!).

Yaptım:

  • temiz derleme klasörü,
  • türetilmiş verileri temizleyin,
  • uygulamayı cihazdan sil,
  • cihazı yeniden başlat

Ve nihayet işe yarıyor. :)

Diğer tüm çözümler başarısız olursa, denemeyi unutmayın.


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.