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)
Saya mendapatkan kesalahan ini saat membangun di iPhone saya. Saya dapat membangun di atas simulator. Saya telah mengatur ulang semua file ketentuan saya namun saya masih tidak dapat membangun di iPhone saya. Xcode saya seperti ini
Apakah ini masalah kerangka kerja atau masalah penandatanganan? Ini tidak terjadi di Xcode 6. Terima kasih.
Jawaban:
Saya memiliki masalah ini sebelumnya karena secara tidak sengaja mencabut sertifikat saya. Lalu semua proyek cepat saya punya masalah ini. Ada dua cara untuk mengatasi ini:
Klik pada Produk → Bersihkan (atau CMD+ Shift+K )
Atau dengan secara manual membersihkan file pengaturan Xcode:
sumber
Saya sudah lama mencari masalah ini. Ada beberapa alasan yang menyebabkan masalah ini.
Jika Anda menghadapi ketika Anda dan Swift kode / pustaka dalam proyek Objectice C Anda harus mencoba Solusi 1-2-3
Jika Anda menghadapi masalah ini dengan Solusi proyek Swift 4 baru yang akan cocok untuk Anda.
Solusi 1 :
Mulai ulang Xcode, lalu komputer dan iPhone
Solusi 2 :
Pergi ke pengaturan membangun proyek dan mengatur
Embedded Content Contains Swift
flag Code ke YESSolusi 3:
Buka pengaturan proyek build dan tambahkan
@executable_path/Frameworks
ke opsi Runpath Search PathsSolusi 4:
Jika tidak ada di atas yang berfungsi, ini seharusnya. Apple tampaknya merupakan sertifikat yang ditambal ninja sebagaimana disebutkan dalam pos AirSign
Di sertifikat InHouse
mereka menambahkan bidang baru bernama
OU
jadi Anda harus membuat ulang sertifikat dan ketentuan
sumber
Setelah mencoba banyak solusi lain yang disebutkan, untuk rasa malu abadi saya, melakukan Xcode-> Produk-> Bersihkan dan mulai ulang Xcode, lakukan triknya.
sumber
Bagi saya, masalah ini muncul karena sertifikat WWRD - Tambang sudah mutakhir, tetapi karena alasan tertentu ia diatur ke 'selalu percaya' alih-alih 'gunakan standar sistem', yang tampaknya membuat perbedaan.
sumber
Jika Anda tidak sengaja mengatur ulang gantungan kunci Anda, ini dapat terjadi karena sertifikat Apple tidak ada di gantungan kunci. Aku mengikuti jawaban atas ini untuk memecahkan masalah saya.
sumber
Menghapus DerivedData membantu saya.
Melakukannya melalui Xcode -> Preferensi -> Lokasi -> mengklik tanda panah di belakang jalur DerivedData dan menghapus seluruh folder DerivedData di Finder.
sumber
Window > Projects > My Project > Derived Data > Delete
melakukan pekerjaan untuk saya.Itu terjadi di pihak saya ketika membangun aplikasi di baris perintah melalui xcodebuild dan xcrun PackageApplication, menandatangani aplikasi dengan profil perusahaan. Di server CI build kami, sertifikat ditetapkan ke "Selalu Percaya" di gantungan kunci (pilih sertifikat -> Dapatkan Info -> Percaya -> "Gunakan Bawaan Sistem" dapat diubah menjadi "Selalu Percaya"). Saya harus mengaturnya kembali ke "Use System Default" untuk membuat ini berfungsi. Awalnya kami menetapkan ini untuk "Selalu Percaya" untuk mengatasi dialog gantungan kunci yang muncul setelah pembaruan perangkat lunak dan pembaruan sertifikat.
sumber
Dengan risiko menabur lebih banyak kebingungan, saya mengalami masalah ini saat memperbarui ke XC8.
Tidak satu pun dari saran ini, maupun dari utas lainnya, yang menyelesaikannya. Apa yang DID bekerja, telah menghapus SEMUANYA dari fase build "Link Binary with Libraries", fase build "Target Dependencies", dan pengaturan umum "Linked Frameworks and Libraries".
FYI, saya menggunakan Carthage dan telah ditambahkan
$(PROJECT_DIR)/Carthage/Build/tvOS
keFRAMEWORK_SEARCH_PATHS
pengaturan build, sehingga kerangka kerja saya dapat ditemukan.FYI 2, proyek dan kerangka kerja ini, 100% cepat dan kerangka kerja sedang dibangun
DEFINES_MODULE = YES
.sumber
sumber
Dikutip dari T&J Teknis QA1886 :
Aplikasi Swift mogok saat mencoba merujuk pustaka Swift libswiftCore.dylib.
T: Apa yang dapat saya lakukan tentang kesalahan pemuatan libswiftCore.dylib di konsol perangkat saya yang terjadi ketika saya mencoba menjalankan aplikasi bahasa Swift saya?
A: Untuk memperbaiki masalah ini, Anda harus menandatangani aplikasi menggunakan sertifikat penandatanganan kode dengan Unit Organisasi Subjek (OU) yang disetel ke ID Tim Anda. Semua perusahaan dan sertifikat pengembang iOS standar yang dibuat setelah iOS 8 dirilis memiliki bidang ID Tim baru di tempat yang tepat untuk memungkinkan aplikasi bahasa Swift dijalankan.
Biasanya kesalahan ini muncul di log konsol perangkat dengan pesan yang mirip dengan salah satu dari yang berikut: [....] [deny-mmap] file yang dipetakan tidak memiliki pengidentifikasi tim dan bukan biner platform: / private / var / mobile / Kontainer / Bundel / Aplikasi / 5D8FB2F7-1083-4564-94B2-0CB7DC75C9D1 / YourAppNameHere.app / Frameworks / libswiftCore.dylib
Sertifikat baru diperlukan saat membuat arsip dan mengemas aplikasi Anda. Bahkan jika Anda memiliki salah satu sertifikat baru, mengundurkan diri dari arsip aplikasi cepat yang ada tidak akan berfungsi. Jika dibuat dengan sertifikat pra-iOS 8, Anda perlu membuat arsip lain.
Penting: Harap berhati-hati jika Anda perlu mencabut dan menyiapkan sertifikat Distribusi Perusahaan yang baru. Jika Anda adalah pengembang Enterprise internal, Anda harus berhati-hati agar tidak mencabut sertifikat distribusi yang digunakan untuk menandatangani aplikasi yang masih digunakan oleh salah satu karyawan Enterprise Anda karena aplikasi apa pun yang ditandatangani dengan sertifikat distribusi perusahaan itu akan segera berhenti bekerja. Di atas hanya berlaku untuk sertifikat Distribusi Perusahaan. Sertifikat pengembangan aman untuk dicabut untuk pengembang iOS perusahaan / standar.
Ketika orang-orang AirSign menyatakan akar masalah dari atribut OU yang hilang di bidang subjek dari sertifikat In-House.
Subjek: UID = 269J2W3P2L, CN = Distribusi iPhone: Nama Perusahaan, OU = 269J2W3P2L, O = Nama Perusahaan, C = FR
Saya memiliki sertifikat pengembangan perusahaan, membuat yang baru menyelesaikan masalah.
sumber
Anda mungkin tidak memiliki lengkungan yang benar di lib itu, Anda dapat melakukan a
file /private/var/mobile/Containers/Bundle/Application/3FC2DC5C-A908-42C4-8508-1320E01E0D5B/testapp.app/Frameworks/libswiftCore.dylib
dan itu akan menunjukkan kepada Anda lengkungan yang ada di perpustakaan itu ... Saya tidak yakin bagaimana Anda menautkan, tetapi mungkin itu bukan cara yang benar (jika libswiftcore adalah perpustakaan pabrik, jika ada tambahan di perpustakaan maka itu mungkin tidak dikompilasi dengan benar)
sumber
Saya juga mengalami masalah ini, namun tidak ada yang saya coba di atas dan di beberapa pos lainnya berhasil .. kecuali untuk ini.
Bagi saya, saya mengubah pengidentifikasi bundel karena kami memiliki bundel ID berbeda untuk distribusi dan pengembangan.
Perangkat keras saya diperbolehkan pada ketentuan ini dan akun tim saya valid tetapi itu melempar kesalahan di atas pada beberapa kerangka kerja lain.
Ternyata saya perlu menghapus versi lama aplikasi sepenuhnya dari ponsel saya. Dan tidak hanya menghapusnya dengan cara standar.
Solusi:
Terbukti saat memasang aplikasi yang sama di bawah tim yang sama di bawah bundel ID yang berbeda, jika Anda tidak memulai sepenuhnya dari awal, ada beberapa referensi untuk kerangka kerja yang menjadi kacau.
Semoga ini bisa membantu seseorang.
sumber
Saya baru saja membersihkan proyek dan
Clean Build Folder
menu alt Produksumber
Langkah-langkah di bawah ini berhasil.
1) Di pustaka dinamis, nama pemasangan harus "@loader_path"
2) Dalam proyek utama, Jalur Pencarian Runpath harus "@loader_path" dan "@ loader_path / Frameworks"
3) Dari tampilan gantungan kunci bekas -> tampilkan sertifikat kedaluwarsa dan hapus semuanya.
4) Menghapus sertifikat distribusi dan menginstal ulang.
5) Unduh developer.apple.com/certificationauthority/AppleWWDRCA.cer dan diinstal.
sumber
Saya baru-baru ini menghadapi masalah ini. Saya mencoba semua solusi yang mungkin tetapi tidak ada yang berhasil. Pada akhirnya saya hanya keluar dari Xcode, menghapus sertifikat di gantungan kunci dan menginstal semuanya segar dan restart Mac. Untungnya itu bekerja seperti pesona :)
sumber
Saya memiliki masalah yang sama dan dapat memperbaikinya dengan mengunduh ulang
WWDR (Apple Worldwide Developer Relations Certification Authority)
. Unduh dari sini :dan setel ke Selalu Percaya pada gantungan kunci. Berubah menjadi
Use System Default
ini bekerja untuk saya, saya harap ini membantu Anda
sumber
Dalam kasus saya, gantungan kunci menunjukkan sertifikat sebagai tidak tepercaya, untuk menyelesaikan masalah ini saya telah menetapkan opsi perwalian sertifikat sebagai "Selalu percaya". Mengatur sertifikat ke "Selalu percaya" adalah penyebab utama kecelakaan. Saya tidak dapat menginstal aplikasi ke perangkat. Selesaikan ini dengan menetapkan opsi trust ke "System defaults" alih-alih "Always trust". Ini bekerja untuk saya.
sumber
Anda melihat gejala yang sama jika Anda bekerja di Xamarin Studio dan Anda sedang referensi perpustakaan portabel yang Anda perlu melakukan umpan PCL dan beralih trik. Ini terjadi jika proyek referensi sudah ketinggalan zaman sehubungan dengan perpustakaan referensi. Saya menemukan bahwa saya telah memperbarui perpustakaan umum saya ke kerangka kerja yang lebih baru, memperbarui paket saya tetapi belum memperbarui paket iOS saya untuk mencocokkan. Memperbarui paket memecahkan kesalahan ini untuk saya.
sumber
Anda mungkin masih mendapatkan masalah ini setelah mencoba @Jieyi Hu. mungkin tampaknya sudah diperbaiki tetapi jika itu datang lagi (mungkin di xCode 9).
Namun, penyelesaian ini tampaknya berhasil (berlaku untuk Cocoapods 1.5.x):
buka Podfile di proyek Anda, dan tambahkan ini:
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
pembaruan pod
Sumber:
https://github.com/evgenyneu/Cosmos/issues/105
https://github.com/Skyscanner/SkyFloatingLabelTextField/issues/201#issuecomment-381915911
Terima kasih @ Cédric
sumber
Anda dapat membuat ulang sertifikat Anda dan memulai kembali iPhone Anda.
Ini bekerja untuk saya, saya harap ini membantu Anda.
sumber
Saya memecahkan masalah dengan memeriksa gantungan kunci lokal saya. Tetap login.keychain memiliki sertifikat yang tepat
sumber
Anda perlu mengatur sertifikat (hanya sertifikat & tidak menyediakan profil) untuk setiap dan setiap kerangka kerja dinamis yang Anda tautkan (langsung atau tidak langsung) dalam proyek Anda
sumber
Dalam kasus saya, setelah saya menghapus semua sertifikasi yang dibuat oleh Xcode dan diunduh. Biarkan xcode 8.1 mengelola sertifikasi aplikasi, Ini berfungsi dengan baik !!! Semoga ini bisa membantu seseorang.
sumber
Saya mengalami masalah ini HANYA di simulator. Tampaknya terkait dengan beberapa Kepemilikan yang tidak valid dalam aplikasi kami, tetapi masalah tidak muncul ketika kami menjalankan perangkat.
sumber
Saya memecahkan menggunakan trik ini.
Langkah 1:
Buka pengaturan pembuatan proyek dan tambahkan @ executable_path / Frameworks ke opsi Jalur Pencarian Runpath
Langkah 2:
Pergi ke pengaturan build target dan tambahkan @ executable_path / Frameworks ke opsi Runpath Search Paths dan Framework Search Paths.
Langkah 3:
Mengunduh kembali WWDR (Otoritas Sertifikasi Hubungan Pengembang Apple Seluruh Dunia), diatur ke opsi Gunakan Default Sistem.
Langkah 4:
Hapus Semua Data yang diturunkan menggunakan Terminal
rm -rf ~ / Library / Developer / Xcode / DerivedData / *
Langkah 5 :
Hapus Semua Sertifikat dan pasang kembali ke Keychain. Saya mengaktifkan opsi Use System Default.
Langkah 6:
Mulai ulang Xcode.
sumber
menghadapi masalah yang sama
sumber
Saya mengalami masalah ini dengan XCode 9. Tidak ada yang di atas berhasil. Ini melakukan trik untuk saya:
Project > Build Settings > Swift Compiler - Search Path: Setting "Import Paths"
ke$(PROJECT_DIR)
(rekursif)sumber
Ini menyelesaikan kesalahan saya-
Mengunduh kembali WWDR (Otoritas Sertifikasi Hubungan Pengembang Apple Seluruh Dunia), diatur ke opsi Gunakan Default Sistem.
sumber
Dalam kasus saya, itu adalah masalah dengan salah satu pod yang saya gunakan. Saya akhirnya menghapus pod itu dan menempatkan kode ke dalam proyek saya secara manual.
sumber
masukkan deskripsi gambar di sini
Saya memiliki masalah serupa, yang merinci informasi sebagai gambar pertama.
Solusi saya adalah bahwa beralih sertifikasi selalu percaya untuk menggunakan standar sistem. seperti: masukkan deskripsi gambar di sini masukkan deskripsi gambar di sini
sumber