Nedeni: uygun resim bulunamadı [kapatıldı]


129
dyld: Library not loaded: @rpath/libswiftCore.dylib
  Referenced from: /var/mobile/Containers/Bundle/Application/3FC2DC5C-A908-42C4-8508-1320E01E0D5B/Stylist.app/Stylist
  Reason: no suitable image found.  Did find:
    /private/var/mobile/Containers/Bundle/Application/3FC2DC5C-A908-42C4-8508-1320E01E0D5B/testapp.app/Frameworks/libswiftCore.dylib: mmap() errno=1 validating first page of '/private/var/mobile/Containers/Bundle/Application/3FC2DC5C-A908-42C4-8508-1320E01E0D5B/testapp.app/Frameworks/libswiftCore.dylib'
(lldb) 

İPhone'umda derleme yaparken bu hatayı alıyorum. Simülatör üzerine inşa edebilirim. Tüm provizyon dosyalarımı yeniden yaptım ancak yine de iPhone'um üzerine inşa edemiyorum. Xcode'um böyle

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

Bu bir çerçeve sorunu mu yoksa imzalama sorunu mu? Bu Xcode 6'da olmadı. Teşekkürler.


3
Muhtemel dyld
UKDataGeek

Dünya çapında geliştirici sertifikasındaki izinleri değiştirerek bu sorunu
çözdüm

İOS 13.3.1 için güncelleme: Bu şanssız iOS'a sahipseniz ve iç içe çerçevelerle uygulama yüklemeye çalışırsanız, bunun bir hata olduğunu bilin - 13.4.1 veya sonraki bir
sürüme

Yanıtlar:


389

Bu sorunu daha önce yanlışlıkla sertifikamı iptal ettiğim için yaşadım. O zaman tüm hızlı projelerimde bu sorun var. Bunu çözmenin iki yolu vardır:

Ürün → Temizle (veya CMD+ Shift+ K) seçeneğine tıklayın

Veya Xcode ayar dosyalarını manuel olarak temizleyerek:

rm -rf "$(getconf DARWIN_USER_CACHE_DIR)/org.llvm.clang/ModuleCache"
rm -rf ~/Library/Developer/Xcode/DerivedData
rm -rf ~/Library/Caches/com.apple.dt.Xcode

1
bunları terminalde kullanın
Jieyi Hu

Sorun değil. İsterseniz cevabımı seçin :)
Jieyi Hu

10
Bence Alt + Clean da bunu yapacak
jjxtra

9
Projeyi temizlemek benim için çalıştı: SHIFT + CMD + K
B-Rad

9
Uygulamayı telefonunuza yüklemek için geliştirici olmayan bir Apple Kimliği mi kullanıyorsunuz? Görünüşe göre iOS 13.3.1, ücretsiz Apple Kimlikleriyle yüklenmiş bozuk uygulamalara sahip, ancak yalnızca gömülü çerçeveler içeriyorlarsa. Tüm bağımlılıklarınızı çerçeveler yerine statik kitaplıklar olarak bağlamak mümkünse (örneğin, Cocoapods kullanıyorsanız, use_frameworks! Öğesini Pod Dosyanızdan kaldırabilirsiniz), bu sorunu şimdilik çözmelidir.
Kashif Rabbani

30

Bu konuyu uzun süre araştırdım. Bu sorunun birkaç nedeni vardır.

Bir Objectice C projesinde siz ve Swift kod / kitaplığı ile karşı karşıyaysanız Çözüm 1-2-3'ü denemelisiniz

Bu sorunla yeni bir Swift projesi ile karşı karşıyaysanız Çözüm 4 size en uygun olacaktır.

1.Çözüm :

Xcode'u, ardından bilgisayarı ve iPhone'u yeniden başlatın

2.Çözüm :

Proje oluşturma ayarlarına gidin ve Embedded Content Contains SwiftKod bayrağını YES olarak ayarlayın

3. Çözüm:

Proje derleme ayarlarına gidin ve @executable_path/FrameworksRunpath Arama Yolları seçeneğine ekleyin

4.Çözüm:

Yukarıdakilerin hiçbiri işe yaramazsa, bu gerekir. Apple, AirSign'ın gönderisinde belirtildiği gibi ninja yamalı sertifikalar gibi görünüyor

InHouse sertifikalarında

Subject: UID=269J2W3P2L, CN=iPhone Distribution: Company Name, O=Company Name, C=FR

adlı yeni bir alan eklediler OU

Subject: UID=269J2W3P2L, CN=iPhone Distribution: Company Name, OU=269J2W3P2L, O=Company Name, C=FR

bu yüzden sertifika ve provizyonu yeniden oluşturmalısınız


Teşekkürler Çözüm 1 ~ 3'ü yaptım ve çalışmıyor Bir sertifika ve provizyonu yeniden oluşturdum ve aynı şekilde çalışmıyor
Satsuki

1
Satsuki'nin sorduğu gibi aynı hata mesajıyla karşı karşıyaydım. 4.Çözüm benim için hile yaptı. Realm Framework ile ilgili sorunlar yaşadım, ancak yalnızca uygulamamın bir arşivini oluşturmaya ve ardından iTunes aracılığıyla yüklemeye çalışsam (aksi takdirde aygıta doğrudan dağıtım akıcıydı).
Peter Ivanics

4 benim için de yaptı! AirSign gönderisinin bağlantısı: airsignapp.com/…
pshah

2
InHouse sertifikasını nasıl düzenlerim?
Al Wang

1
1 ve 2 benim için işe yaramadı. Pencere -> proje, türetilen verileri sil, düzeltildi. Aşağı, buggy xcode>. <
Cymric

27
Xcode->Product->Clean + Xcode Restart

Belirtilen diğer çözümlerin çoğunu denedikten sonra, ebedi utancıma, bir Xcode-> Product-> Clean yapmak ve Xcode'u yeniden başlatmak, hile yaptı.


2
Ben de WWRD'yi almak, Runpath'ı Kontrol Etmek, vb. Gibi daha önce bahsedilen adımların çoğunu yaptım. Bu "Temiz" i yapana kadar hiçbir şey işe yaramadı. Yani BÜYÜK bir Teşekkür Ederiz!
Joe Famme

Birkaç temizleme başarısız olduktan sonra Xcode'u yeniden başlatmak zorunda kaldım. Apple'ın her şeyi ne kadar zor yaptığını düşünürsek, bu çözüm için fazlasıyla açık görünüyor
Jeffrey Kern

19

Benim için bu sorun WWRD sertifikası nedeniyle ortaya çıkıyordu - Benimki günceldi, ancak nedense "sistem varsayılanını kullan" yerine "her zaman güven" olarak ayarlandı, bu da görünüşe göre bir fark yaratıyor.


4
Sertifika sorunu için +1. Kesinlikle HER ŞEYİ denedim, ancak geliştirici sertifikamın anahtar zincirinde "Her Zaman Güven" olarak ayarlandığını fark ettim. Dediğiniz gibi "Sistem Varsayılanını Kullan" olarak değiştirmek mükemmel çalıştı. Teşekkür ederim!
tylermilner

1
Her şeyi denedim ve bu yaptı. Cidden Apple bunu
Xcode'un bir

1
son derece ÖNEMLİ: sertifika erişimini "sistem varsayılanlarını kullan" olarak değiştirdikten sonra projeyi derinlemesine
TEMİZLEYİN

2
Günümü kurtardım kardeşim! teşekkürler
andrea.rinaldi

Bunun bu soruna ULTIMATE çözüm olduğunu düşünüyorum. İnternette mevcut olan hemen hemen tüm çözümleri de denedim ama bunların hiçbiri benim için işe yaramıyor. Harika çözüm ...
Er. Vihar

17

Anahtar zincirinizi yanlışlıkla sıfırlarsanız, bu, anahtar zincirindeki eksik Apple sertifikalarından kaynaklanabilir. Sorunumu çözmek için bu konudaki cevabı takip ettim.

Aynı sorunu yaşadım ve WWDR'yi (Apple Worldwide Developer Relations Certification Authority) yeniden indirerek düzeltmeyi başardım. Buradan indirin: http://developer.apple.com/certificationauthority/AppleWWDRCA.cer


1
Xcode'u ve kullanıcı profilimi bir Mac'ten diğerine aktardıktan sonra benim için düzeltti.
RTasche

1
Davam için çalışıyor, teşekkürler!
Alice Chan

1
TEŞEKKÜRLER Efendim, BİR HAYAT KURTARICISINIZ
Josh O'Connor

Teşekkür ederim, bunu bulmam çok uzun sürdü.
loudmouth

14

Türetilmiş Verileri kaldırmak benim için hile yaptı.

Xcode -> Tercihler -> Konumlar -> DerivedData yolunun arkasındaki oku tıkladıktan sonra Finder'daki DerivedData klasörünün tamamını kaldırdı.


teşekkürler, benim için çalıştı,
cordova

1
Window > Projects > My Project > Derived Data > Deleteişi benim için yaptı.
Michael Waterfall

Xcode 10.1'de benim için çalıştı. Hepsi de çalıştı ama mutlu bir günde Xcode bu hataları göstermeye başladı. Teşekkürler.
Zhebzhik Babich

5

Komut satırında xcodebuild ve xcrun PackageApplication aracılığıyla bir uygulama oluştururken, uygulamayı bir kurumsal profille imzalarken benim tarafımda meydana geldi. CI oluşturma sunucularımızda, sertifika anahtar zincirinde "Her Zaman Güven" olarak ayarlanmıştır (sertifika seçin -> Bilgi Al -> Güven -> "Sistem Varsayılanını Kullan", "Her Zaman Güven" olarak değiştirilebilir). Bunun çalışması için "Sistem Varsayılanını Kullan" olarak ayarlamam gerekiyordu. Başlangıçta, yazılım güncellemeleri ve sertifika güncellemelerinden sonra görünen anahtar zinciri diyaloglarında geçici çözüm bulmak için bunu "Her Zaman Güven" olarak ayarladık.


3

Daha fazla kafa karışıklığı ekme riskiyle, XC8'e güncelleme yaparken bu sorunu yaşadım.

Bu önerilerin hiçbiri veya başka herhangi bir başlıktan hiçbiri onu çözmedi. YAPTIĞINIZ şey, HER ŞEYİ "Kitaplıklarla Bağlantı İkili" oluşturma aşaması, "Hedef Bağımlılıklar" oluşturma aşaması ve "Bağlantılı Çerçeveler ve Kitaplıklar" Genel ayarından kaldırmaktı.

Bilginize, ben Carthage kullanıyorum ve ilave etmişti $(PROJECT_DIR)/Carthage/Build/tvOSiçinFRAMEWORK_SEARCH_PATHS benim çerçeveler bulunamadı böylece, yapı ayarı.

FYI 2, bu projeler ve çerçeveler% 100 hızlı ve çerçeveler oluşturuluyor DEFINES_MODULE = YES.


DEFINES_MODULE = EVET benim için çalıştı. Projem hem amaç-C hem de Swift içeriyordu.
Jason Huh

3
  1. Uygulamayı cihazdan kaldırın
  2. Projeyi temizleyin ( CMD+ SHift+ K)
  3. Cihazda Oluştur / Çalıştır

2

Den Atıf Teknik S ve C QA1886 :

Swift kitaplığı libswiftCore.dylib'e başvurmaya çalışırken Swift uygulaması çöküyor.

S: Swift dil uygulamamı çalıştırmayı denediğimde cihazımın konsolunda meydana gelen libswiftCore.dylib yükleme hatası hakkında ne yapabilirim?

Y: Bu sorunu düzeltmek için, Ekip Kimliğinize ayarlanmış Konu Kuruluş Birimi (OU) ile kod imzalama sertifikalarını kullanarak uygulamanızı imzalamanız gerekir. İOS 8 piyasaya sürüldükten sonra oluşturulan tüm Kurumsal ve standart iOS geliştirici sertifikaları, Swift dil uygulamalarının çalışmasına izin vermek için uygun yerde yeni Takım Kimliği alanına sahiptir.

Genellikle bu hata, aygıtın konsol günlüğünde aşağıdakilerden birine benzer bir mesajla görünür: [....] [deny-mmap] eşlenen dosyanın ekip tanımlayıcısı yoktur ve platform ikili dosyası değildir: / private / var / mobile / kaplar / Bundle / Uygulama / 5D8FB2F7-1083-4564-94B2-0CB7DC75C9D1 / YourAppNameHere.app / Altyapıları / libswiftCore.dylib

Dyld Error Message:
  Library not loaded: @rpath/libswiftCore.dylib

Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x0000000120021088
Triggered by Thread: 0

Referenced from: /private/var/mobile/Containers/Bundle/Application/C3DCD586-2A40-4C7C-AA2B-64EDAE8339E2/TestApp.app/TestApp
Reason: no suitable image found. Did find:
/private/var/mobile/Containers/Bundle/Application/C3DCD586-2A40-4C7C-AA2B-64EDAE8339E2/TestApp.app/Frameworks/libswiftCore.dylib: mmap() error 1 at address=0x1001D8000, size=0x00194000 segment=__TEXT in Segment::map() mapping /private/var/mobile/Containers/Bundle/Application/C3DCD586-2A40-4C7C-AA2B-64EDAE8339E2/TestApp.app/Frameworks/libswiftCore.dylib
Dyld Version: 353.5

Arşiv oluştururken ve uygulamanızı paketlerken yeni sertifikalara ihtiyaç vardır. Yeni sertifikalardan birine sahip olsanız bile, sadece mevcut bir hızlı uygulama arşivinden vazgeçmek işe yaramayacaktır. İOS 8 öncesi bir sertifika ile oluşturulmuşsa, başka bir arşiv oluşturmanız gerekecektir.

Önemli: Yeni bir Kurumsal Dağıtım sertifikasını iptal etmeniz ve kurmanız gerekirse lütfen dikkatli olun. Şirket içi bir Kurumsal geliştiriciyseniz, Kurumsal çalışanlarınızdan herhangi birinin halen o kurumsal dağıtım sertifikasıyla imzalanmış uygulamalar olarak kullanmakta olduğu bir uygulamayı imzalamak için kullanılan bir dağıtım sertifikasını iptal etmemeye dikkat etmeniz gerekir. hemen çalışmayı bırakacak. Yukarıdakiler yalnızca Kurumsal Dağıtım sertifikaları için geçerlidir. Geliştirme sertifikalarının, kurumsal / standart iOS geliştiricileri için iptal edilmesi güvenlidir.

AirSign çalışanları, sorun kökenini Şirket İçi sertifikanın konu alanındaki eksik OU özniteliğinden belirtir.

Konu: UID = 269J2W3P2L, CN = iPhone Dağıtımı: Şirket Adı, OU = 269J2W3P2L, O = Şirket Adı, C = FR

Kurumsal geliştirme sertifikam var, yeni bir tane oluşturmak sorunu çözdü.


kimse bunu ingilizce açıklayabilir mi?
UKDataGeek

1

Muhtemelen bu kitaplıkta doğru arşına sahip değilsinizdir,

file /private/var/mobile/Containers/Bundle/Application/3FC2DC5C-A908-42C4-8508-1320E01E0D5B/testapp.app/Frameworks/libswiftCore.dylib

ve size o kitaplıkta bulunan kemerleri göstermelidir ... Nasıl bağladığınızdan emin değilim, ancak muhtemelen doğru yol değildir (libswiftcore bir fabrika kitaplığı ise, kitaplığa bir eklenti ise o zaman o muhtemelen doğru derlenmemiş)


Merhaba, Cevabınız için teşekkür ederim, bir sorum var. Cevabınızda söylediniz ve size kütüphanede bulunan kemerleri göstermelidir. nasıl gösterirsin
Satsuki

komut dosya olarak adlandırılıyor ... ama sanırım telefondaki yol yerine mac'inizdeki yerel sürümü bulmanız gerekiyor ...
Grady Player

1

Ben de bu sorunu yaşadım, ancak yukarıda ve diğer birkaç gönderide denediğim hiçbir şey işe yaramadı .. bunun dışında.

Benim için, dağıtım için geliştirmeye karşı farklı bir paket kimliğimiz olduğundan paket tanımlayıcısını değiştirdim.

Donanımıma bu hükümde izin verildi ve takım hesabım geçerli ancak yukarıdaki hatayı başka bir çerçevede atıyordu.

Uygulamanın eski sürümünü telefonumdan tamamen kaldırmam gerektiği ortaya çıktı. Ve sadece standart şekilde silmek değil.

Çözüm :

  1. Hedef telefonun bağlı olduğundan emin olun
  2. xcode menüsünden [Pencere> Aygıtlar] 'a tıklayın
  3. sol taraftaki menüden hedef cihazı seçin.
  4. Sağ tarafta, cihazınızdaki uygulamaların bir listesi olacaktır. Test etmeye çalıştığınız uygulamayı bulun ve kaldırın.

Aynı uygulamayı aynı ekip altında farklı bir paket kimliği altında kurduğunuzda, tamamen sıfırdan başlamazsanız, çamurlaşan çerçevelere bazı referanslar var.

Umarım bu birine yardımcı olur.


Paket kimliğim değişmedi. Ve yukarıdaki önerilerden herhangi biri işleri düzeltmedi (-> Temizle; manuel silme; her şeyi yeniden başlatma; ve her seferinde uygulamayı iPhone'dan manuel olarak kaldırma ve daha fazlası). Sadece Christopher'ın önerilerine uyarak, bir daha hiçbir şeyi temizlemeden anında düşünüyor. [iPhone 5; iOS 9.3.5; Xcode 7.3]
marco

1

Projeyi yeni temizledim ve Clean Build Folderalt Ürün menüsü ile


Derleme klasörünü temizlemek için kısayol: alt + cmd + shift + k
Ori

1

Aşağıdaki adımlar başarıyla uygulandı.

1) Dinamik kitaplıkta yükleme adının "@loader_path" olması gerekiyordu

2) Ana projede Runpath Arama Yolu "@loader_path" ve "@ loader_path / Frameworks" olmalıdır

3) Kullanılan anahtarlık görünümünden -> süresi dolmuş sertifikaları gösterin ve her şeyi kaldırın.

4) Dağıtım sertifikasını silip yeniden yükleyin.

5) developer.apple.com/certificationauthority/AppleWWDRCA.cer indirildi ve yüklendi.


1

Geçenlerde bu problemle karşılaştım. Olası tüm çözümleri denedim ama hiçbir şey işe yaramadı. Sonunda Xcode'dan çıktım, anahtar zincirindeki sertifikaları kaldırdım ve her şeyi yeni kurdum ve Mac'i yeniden başlattım. Neyse ki çekicilik gibi çalıştı :)


1

Aynı sorunu yaşadım ve yeniden indirerek düzeltmeyi başardım WWDR (Apple Worldwide Developer Relations Certification Authority). Buradan indirin :

ve anahtar zincirine Her Zaman Güven olarak ayarlayın . Olarak değiştiriliyorUse System Default

benim için çalışıyor, umarım bu sana yardımcı olur


1

Benim durumumda, anahtarlık sertifikayı güvenilmez olarak gösteriyor, bu sorunu çözmek için sertifikanın güven seçeneklerini "Her zaman güven" olarak ayarladım. Sertifikanın "Her zaman güven" olarak ayarlanması çökmenin ana sebebiydi. Uygulamayı cihaza yükleyemedim. Bunu, güven seçeneğini "Her zaman güven" yerine "Sistem varsayılanları" olarak ayarlayarak çözdüm. Benim için çalıştı.


1

Xamarin Studio'da çalışıyorsanız ve PCL yemini yapmanız ve. Bu, referans veren proje referans alınan kitaplığa göre güncel değilse oluşur. Ortak kitaplığımı daha yeni bir çerçeveye güncellediğimi, paketlerimi güncellediğimi ancak iOS paketlerimi eşleşecek şekilde güncellemediğimi fark ettim. Paketleri güncellemek bu hatayı benim için çözdü.


1

@ Jieyi Hu Yanıtını denedikten sonra bu sorunu hala alabilirsiniz. sabit görünebilir, ancak tekrar gelirse (muhtemelen xCode 9'da).

Ancak, bu geçici çözüm işe yarıyor gibi görünüyor (Cocoapods 1.5.x için geçerlidir):

  1. projeni temizle
  2. Xcode'u kapatın ve DerivedData'yı silin
  3. projenizde Pod dosyasını açın ve şunu ekleyin:

    post_install do |installer| installer.pods_project.build_configurations.each do |config| config.build_settings.delete('CODE_SIGNING_ALLOWED') config.build_settings.delete('CODE_SIGNING_REQUIRED') end end

  4. kapsül güncellemesi

Kaynaklar:

https://github.com/evgenyneu/Cosmos/issues/105

https://github.com/Skyscanner/SkyFloatingLabelTextField/issues/201#issuecomment-381915911

Teşekkürler @ Cédric


0

Sertifikanızı yeniden oluşturabilir ve iPhone'unuzu yeniden başlatabilirsiniz.

Bu benim için çalışıyor, umarım bu size yardımcı olur.


Lütfen bunu nasıl yaptığınızı açıklayın.
TDM

0

Yerel anahtar zincirlerimi kontrol ederek sorunu çözüyorum. Login.keychain'in doğru sertifikası var


Stack Overflow'a hoş geldiniz! Bu soruya cevap vermiyor. Her zaman kendi yayınlarına yorum yapabilirsiniz, ve bir kez - istek açıklama bir yazarın eleştirme veya etmek için, onların yazı aşağıya yorum bırakmaktan kazanmak yeterli itibar size mümkün olacak yorumun herhangi bir yayınla ilgili. İlgili ancak farklı bir sorunuz varsa, bağlam sağlamaya yardımcı olacaksa, buna referans veren yeni bir soru sorun .
ddb

0

Projenizde (doğrudan veya dolaylı olarak) bağladığınız her dinamik çerçeve için sertifika (yalnızca sertifika ve ön hazırlık profili değil) ayarlamanız gerekir.görüntü açıklamasını buraya girin


0

Benim durumumda, Xcode tarafından oluşturulan ve indirilen tüm sertifikaları sildikten sonra. Xcode 8.1'in uygulama sertifikasyonunu yönetmesine izin verin, iyi çalışıyor !!! Umarım bu birine yardımcı olabilir.


0

Bu sorunla YALNIZCA simülatörde karşılaştım. Uygulamamızdaki bazı geçersiz Yetkilendirmelerle ilgili gibi görünüyor, ancak bir cihazda çalıştırdığımızda sorun görünmüyor.


0

Bu hileleri kullanarak çözdüm.

Aşama 1:

Proje derleme ayarlarına gidin ve Runpath Arama Yolları seçeneğine @ execable_path / Frameworks ekleyin

Adım 2:

Hedef derleme ayarlarına gidin ve Runpath Search Paths seçeneğine ve Framework Search Paths'e @ execable_path / Frameworks ekleyin.

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

Aşama 3:

WWDR'yi (Apple Worldwide Developer Relations Certification Authority) yeniden indirmek, Sistem Varsayılanını Kullan seçeneği olarak ayarlayın.

4. Adım:

Türetilmiş Tüm Verileri Terminal Kullanarak Silme

rm -rf ~ / Kitaplık / Geliştirici / Xcode / DerivedData / *

5. Adım :

Tüm Sertifikaları silin ve Anahtar Zinciri'ne yeniden yükleyin. Sistem Varsayılanını Kullan seçeneğini etkinleştirdim.

6. Adım:

Xcode'u yeniden başlatın.


0

aynı sorunla karşılaştı

  1. geliştirici sertifikamın süresi doldu, bu nedenle yeni geliştirici sertifikası oluşturuldu ve indirildi
  2. xcode'u temizle ve yeniden başlat, bu benim için çalışıyor

0

Bu sorunla XCode 9 ile karşılaştım. Yukarıdakilerin hiçbiri işe yaramadı. Bu benim için hile yaptı:

Project > Build Settings > Swift Compiler - Search Path: Setting "Import Paths"to $(PROJECT_DIR)(özyinelemeli)


0

Bu benim hatamı çözdü

WWDR'yi (Apple Worldwide Developer Relations Certification Authority) yeniden indirmek, Sistem Varsayılanını Kullan seçeneği olarak ayarlayın.


0

Benim durumumda, kullandığım bölmelerden biriyle ilgili bir sorundu. Bu bölmeyi kaldırdım ve kodu buradan projeme manuel olarak yerleştirdim.


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.