2017 - luar biasa, hanya memulai ulang Xcode memecahkan masalah keji ini untuk saya.
Fattie
Jawaban:
152
Bagi saya tidak ada solusi sebelumnya yang berhasil. Kami menemukan bahwa ada bendera ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES(dalam versi sebelumnya: "Konten Tertanam Berisi Kode Swift") dalam Pengaturan Bangun yang perlu diatur ke YA. Secara default TIDAK ada!
Ini memperbaikinya bagi saya juga, saya mengubah pengaturan untuk ekstensi ke true. Proyek ini objc tetapi ext cepat dan tidak bekerja sejak awal
Cristi Băluță
Ini juga resolusi saya. Saya memiliki proyek aplikasi iOS yang ada (ObjC) yang saya tambahkan Ekstensi Hari Ini (target baru dalam proyek, ekstensi adalah plugin untuk aplikasi utama). Saya harus masuk ke pengaturan target aplikasi dan mengaktifkan masalah Pengaturan Bangun dan biola ... hilang. Masuk akal, tetapi mengingat berapa banyak hal lain yang dikonfigurasikan secara otomatis oleh Xcode 6.0 untuk Anda, sayang sekali opsi penting ini diabaikan.
hsoi
Ini memperbaiki masalah saya - kami memiliki proyek lama dengan banyak ObjC, yang baru-baru ini kami mulai menambahkan Swift ke. Meskipun IPA dibangun dan termasuk pustaka Swift, itu tidak berfungsi pada beberapa perangkat iOS7 sampai pengaturan build ini diperiksa dan kami melakukan IPA baru. Ini berfungsi di semua perangkat bermasalah kami.
Kendall Helmstetter Gelner
1
Tidak ada yang berhasil selain ini. Anda penyihir freakin, Tuan yang baik!
Ricky Hartmann
2
Konten Tertanam Berisi Kode Swift yang tidak digunakan lagi ALWAYS_EMBED_SWIFT_STANDARD_LIBRARY
nivritgupta
91
Kesalahan ini dapat terjadi jika terjadi kesalahan selama konversi proyek Objective-C untuk mulai menggunakan Swift. Masalahnya adalah bahwa pengaturan build Linker tidak pernah dikonfigurasi dengan benar, jadi Anda harus melakukannya dengan tangan. Cari pengaturan build Runpath Search Paths dan atur ke:
$(inherited)@executable_path/Frameworks
EDIT: Saya juga harus menambahkan bahwa telah ada serentetan kesalahan baru-baru ini yang disebabkan oleh sesuatu yang sama sekali lain - Apple membuat perubahan pada Swift sendiri, dimulai dari mungkin Xcode 6.1 atau 6.1.1. Satu-satunya solusi tampaknya keluar dari Xcode, hancurkan sertifikat Anda di Akses Keychain, buka Pusat Anggota dan hapus semua sertifikat dan profil (kecuali profil untuk aplikasi di Store - Anda tidak dapat menghapusnya), dan kemudian mulai seluruh proses permintaan sertifikat dari awal.
Bekerja untukku. Telah ditingkatkan ke versi Xcode terbaru, dan menemukan bahwa jalur pengaturan ini di proyek saya mengarah ke versi yang lebih lama.
ObjectiveTC
1
bekerja!! kamu menyelamatkan hariku! Saya menggunakan kontrol GitHub cepat di objektif C dengan xcode 6 GM. Terima kasih.
imthegiga
1
Ini juga bekerja untuk saya. Restart Xcode tidak.
Dan Loewenherz
1
bekerja untukku. Btw, saya mendapat "Alasan: gambar tidak ditemukan" di akhir pesan kesalahan.
Peter Zhou
2
Terima kasih Tuhan! Itu dia!
BoilingLime
79
Saya tidak begitu yakin mengapa pertanyaan ini sedang downvoting, saya punya masalah ini juga ketika saya pertama kali mencoba menggunakan Swift dengan proyek yang ada. Restart Xcode juga memperbaiki ini untuk saya.
Saya mencoba menggunakan swift dalam proyek iOS baru dan saya mendapatkan kesalahan itu ketika mencoba berjalan pada perangkat iOS 8, tetapi tidak di simulator. Mulai ulang Xcode, laptop saya atau ponsel saya tidak memperbaiki masalah. Apakah ada solusi yang lain?
David Skrundz
2
Sayangnya ini tidak berfungsi untuk saya di bawah Beta 4, mencoba meluncurkan aplikasi Mac yang menggunakan kerangka kerja berbasis Swift.
Craig Otis
Harap sertakan tautan @Developer dalam jawaban Anda karena sangat membantu.
Lachezar Todorov
Coba ini, tetapi bersihkan juga.
Scott McKenzie
55
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 build proyek dan atur Always Embed Swift Standard Libraries(sebelumnya Embedded Content Contains Swift Code) flag keYES
Solusi 3:
Buka pengaturan proyek build dan tambahkan @executable_path/Frameworkske Runpath Search Pathsopsi
Solusi 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
Subject: UID=269J2W3P2L, CN=iPhone Distribution: Company Name, O=Company Name, C=FR
mereka menambahkan bidang baru bernama OU
Subject: UID=269J2W3P2L, CN=iPhone Distribution: Company Name, OU=269J2W3P2L, O=Company Name, C=FR
jadi Anda harus membuat ulang sertifikat dan ketentuan
Iklan 2: Sekarang disebut "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARY" (lihat komentar di bawah jawaban yang diterima).
Raphael
1
Saya ingin menambahkan ... proyek macOS mensyaratkan di @executable_path/../Frameworksmana proyek iOS memerlukannya tanpa ..di tengah. Mengubah nilai ini penting jika Anda mengonversi target dari satu OS ke yang lain.
Matt Gallagher
41
Dalam kasus saya, saya mencoba mengimpor kerangka kerja khusus dan mendapatkan kesalahan serupa. Ternyata saya harus mengimpor kerangka kerja di Binari Tertanam daripada ke Framework dan Perpustakaan Tertaut.
Binari Tertanam berada di bawah Pengaturan Proyek -> -> Umum
Saya melihat kesalahan ini, ketika mencoba menggunakan kerangka kerja yang dikompilasi yang ditulis dengan cepat (alih-alih menyematkan file sumber sebagai target terpisah). Solusi di atas bekerja untuk saya juga.
alex da franca
Terima kasih banyak, Selamat hari penuh saya.
Badrinath
1
Bekerja untuk saya setelah mencoba menghubungkan kerangka kerja yang sebagian ditulis dengan cepat ke dalam proyek lama yang sepenuhnya obyektif-c. Pengaturan sebenarnya di bawah pengaturan build. Informasi lebih lanjut di sini: stackoverflow.com/questions/24163870/…
Pellet
Ini berada di bawah pengaturan Target, bukan proyek, hanya untuk memastikan.
Legoless
16
Untuk pengembang yang memiliki masalah ini dengan build distribusi Adhoc / Perusahaan,
Buat sertifikat produksi dari portal dev dan kemudian buat kembali profil distribusi. Unduh dan pasang keduanya di Mac Anda. Pastikan Anda memilih profil yang tepat di pengaturan build Xcode Anda dan membangun kembali aplikasi Anda.
Meskipun tautan ini dapat menjawab pertanyaan, tautan terputus. Karena itu, Anda disarankan untuk memasukkan bagian-bagian penting dari tautan. Jawaban hanya tautan tidak disarankan.
Pokechu22
Bekerja untuk aplikasi perusahaan saya. Terima kasih!
sylvanaar
15
Solusi 5:
Dalam kasus saya, semua solusi yang disebutkan dalam jawaban accfews sangat membantu tetapi tidak ada yang berhasil. Saya memecahkan masalah saya dengan menambahkan perpustakaan cepat saya di bagian "Biner Tersemat" di bagian "Umum" dari target Proyek saya. Mungkin ini karena fakta bahwa saya telah memasukkan kerangka kerja cepat saya di ruang kerja saya? Apa pun yang dikompilasi sekarang! Bersiaplah Swift, saya di sini!
Oke, itu sepertinya berhasil. Saya hanya mencoba untuk menulis perpustakaan kode cepat untuk proyek cepat. Entah bagaimana saya masih bertanya-tanya apakah ini benar. Namun saya senang kerjanya.
kpierce8
Saya telah memasukkan kerangka kerja saya di bagian "Salin Kerangka Kerja" pada tab Bangun Fase - tetapi satu kerangka kerja tidak dapat dipilih di sini. "Umum" memungkinkan pemilihan kerangka kerja lain ini dan menambahkannya ke dalam Fase Bangun, dan aplikasi membangun dan menjalankan. Anehnya, saya masih bisa menjalankan aplikasi di simulator.
djbp
Terima kasih, Christophe. Seperti Anda, telah mencoba semua solusi, dan jelas tidak intuitif untuk memahami bahwa perpustakaan cepat tidak dapat diseret ke proyek ke yang lain hanya. Anda jelas perlu menempatkan perpustakaan ke bagian tertanam (alias modul swift lebih jelas, saya ragu mungkin ada jenis barang tertanam lainnya). Sekalipun Xcode bisa mendeteksinya secara otomatis dan melakukan pekerjaan untuk kita ... Tapi itu bukan tugas XCode kita yang tercinta;), di sini pasti membuang-buang waktu kita ...
Tn. Bonjour
Tambahan pula, jika perpustakaan sudah ada dalam daftar pastikan itu ditandai sebagai "Sematkan & Masuk". Ini memperbaiki masalah saya.
SquareBox
10
Restart sederhana Xcode memecahkan masalah untuk saya.
Itu terjadi setelah mencoba menambah kelas baru di proyek lama. Tidak ada informasi berapa umur proyek itu. Jadi, membersihkan proyek dan memaksa penyegaran cache masuk akal. Proyek lama juga menyiratkan ada kemungkinan bagus bahwa sertifikat diubah sementara itu, karena Produksi Apple dan sertifikat Pengembang berakhir setiap tahun. Baca tentang alasan utama kesalahan menurut Tanya Jawab Teknis apel di. developer.apple.com/library/ios/qa/qa1886/_index.html . Hal yang sama terjadi pada saya dan Clean Build Folder membuat proyek berjalan kembali. Biarkan orang mencoba ..
stakahop
Itu terjadi setelah memuat ulang sertifikat iOs saya. Clean (menu Produk) yang sederhana dan semuanya berfungsi dengan baik ;-)
Sébastien REMY
Bekerja dengan sempurna. Terima kasih.
iSofia
3
Ada banyak alasan mengapa hal ini terjadi. Baru saja menghabiskan akhir pekan yang menyenangkan menemukan masalah lain yang menyebabkan hal ini (urutan penandatanganan kode), saya ingin membuat ringkasan jawaban yang menyatukan semua solusi yang mungkin:
Tambahkan Konten Tertanam Berisi Kode Swift ke proyek. Anda perlu mengatur tanda ini jika aplikasi Anda mengandung kode Swift.
Proyek bersih . Selain Proyek> Bersihkan Anda juga dapat menghapus DerivedDatadan Builddirektori. Lihat di bawah Preferensi untuk lokasi DerivedData. Buildharus ada di folder proyek Anda.
Pastikan Jalur Pencarian Runpath berisi@executable_path/Frameworks .
Pastikan bahwa sertifikat Anda berisi ID Tim Apple Anda di bidang OU (Unit Organisasi) yang akan ditambahkan Apple untuk Anda, cukup cabut sertifikat distribusi Anda yang sudah ada dan buat yang baru, unduh, pasang di KeyChain, buat ulang semua profil penyediaan, unduh itu dan membangun kembali.
Xcode restart. Jika semuanya pada dasarnya baik, tetapi Xcode belum sampai di sana.
Itu hal yang mudah. Jika Anda melakukan pembuatan baris perintah sendiri, Anda mungkin membuat .ipafile sendiri untuk diunggah. Dalam hal ini Anda perlu memastikan yang berikut:
Pastikan versi file Swift di SwiftSupport/iphoneossama dengan versi diContents/YourApp.app/Frameworks Karena Swift belum kompatibel biner antara versi, Anda harus memastikan versi ini adalah yang Anda gunakan untuk membangun aplikasi. Anda dapat menemukan perpustakaan ini di bawah /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos.
Tandatangani perpustakaan dan kerangka kerja terlebih dahulu . Anda perlu codesignpustaka dan file kerangka kerja ( Frameworksdi bawah dalam .appfolder) pertama dan kemudian menandatangani seluruh .apppohon. The .apppohon harus ditandatangani dengan entitlements.plisttetapi tidak kerangka.
Mudah-mudahan ketika Swift 3.0 keluar dan kita tidak perlu lagi membundel Swift dengan aplikasi kita, semua masalah ini akan hilang.
Saya mengalami masalah ini menggunakan mobileprovision Ad Hoc (atau perusahaan) dengan sertifikat produksi. Beralih ke sertifikat pengembangan dan mobileprovision menyelesaikan masalah ini.
Itu mungkin memungkinkan Anda menjalankan aplikasi dalam pengembangan, tetapi bagaimana Anda akan menyebarkan jika profil ad-hoc atau perusahaan tidak bekerja?
Kristopher Johnson
2
Proyek saya adalah proyek Swift dengan beberapa kelas Objective-C. Saya memiliki masalah yang sama ketika ditandatangani dengan sertifikat inHouse (perusahaan) lama.
Langkah-langkah berikut memperbaiki ini untuk saya.
Buat dan gunakan sertifikat baru dan ketentuan seluler.
(Ref. AIRSIGN's blog )
Dalam kasus kami, Sertifikat Distribusi Perusahaan telah dicabut. Membuat sertifikat baru dan memperbarui profil penyediaan memperbaiki masalah tersebut.
(Tampaknya ada banyak penyebab berbeda untuk kesalahan ini. Semoga ini bisa membantu seseorang.)
Ini menyelesaikan masalah saya. Sialan, betapa buang-buang waktu untuk mencoba memperbaikinya. Saya harap ini memecahkan masalah pengguna lain. Saya dapat men-debug aplikasi saya dengan kerangka kerja kustom saya tetapi tidak bisa menjalankan versi mesin pembuat di jenkins. Mencabut sertifikat distribusi saya dan membuat profil penyediaan perusahaan baru memperbaiki build untuk saya.
cynistersix
2
Ini sama dengan Solution 4
accfews
2
Saya mencoba semua jawaban yang diberikan di atas, tidak ada yang berhasil.
Akhirnya berfungsi setelah memperbarui ke Yosemite
Saya telah menghadapi masalah yang sama, pengaturan identitas tanda kode yang tepat memecahkan masalah (Build settings-> Code Signing Identity).
Sesuai pertanyaan teknis Apple "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"
Jika Anda menambahkan tiga kerangka kerja melalui Binari Tertanam, mereka akan ditambahkan ke Kerangka Kerja Tertaut dan Perpustakaan juga. Hapus tiga entri di Framework dan Perpustakaan Tertaut akan menyelesaikan masalah.
Metode ajaib seperti meluncurkan kembali Xcode dan me-restart Mac tidak bekerja pada saya.
Terima kasih telah meningkatkan format. Terlihat lebih baik. "Framework dan Perpustakaan Tertaut" adalah satu bagian, bukan dua. Saya mengubah "dan" menjadi tebal. @ Bartłomiej
Arbipher
特 来 shua fen zi shu bu ding
icemelon
2
Menambahkan Kerangka sebagai "Biner Tersemat" bukan hanya "Kerangka Kerja Tertaut dan Pustaka" - Memperbaiki masalah saya.
Saya juga mengatur tanda Embedded Content Contains Swift Code ke YES.
Setelah berjam-jam trial & error saya sampai pada penyelesaian masalah ini.
- Jika ini berlaku untuk kasus Anda tentu saja.
Saya memiliki masalah yang sama sampai saya memutakhirkan Mac OS X dari Mavericks ke Yosemite.
- Itu memperbaiki masalah saya, berharap itu memperbaiki masalah Anda juga
Ini bekerja untuk saya di XCode 7.2.1. Saya menggunakan + di panel Build Phases, memilih New Copy Files Phase, lalu menyeret kerangka kerja dari pohon ruang kerja ke bagian Copy Files. Akhirnya saya memilih Destination: Frameworks. Setelah bangunan bersih, aplikasi saya mulai seperti yang diharapkan.
Rob Smallshire
1
Dan jika semua hal di atas tidak membantu Anda dan Anda benar-benar frustrasi ... Cobalah trik terbaik dari semuanya: Cleandan hanya untuk memastikan juga Clean Build Folder. :) Semoga ini bisa membantu seseorang!
Tak satu pun dari solusi ini yang tampaknya bekerja secara konsisten untuk saya; setelah setiap pasangan yang berhasil, itu akan gagal lagi. Bendera "Embedded Content Contains Swift Code" selalu diatur ke YA untuk saya.
Ternyata saya akan menetapkan Xcode agar kompatibel dengan 6.3. Mengubahnya menjadi 3,2-kompatibel menyelesaikannya:
Terima kasih! Saya mencoba segalanya. Saya mengubahnya kembali menjadi 3,2, membersihkan proyek, memulai ulang Xcode dan berhasil
gabriellanata
1
Saya punya masalah ini juga, hanya saja tidak ditemukan libswiftXCTest.dylib.
Solusinya adalah menambah XCTest.frameworktarget Tes, di Build Phases/Link Binary with Library. Saya mendapatkan kesalahan ini bahkan ketika saya mencoba membangun target utama.
Ini muncul ketika saya menambahkan target ekstensi Today baru dengan bahasa Swift ke proyek lama.
Diperbaiki dengan mudah dengan memperbarui proyek ke pengaturan yang disarankan. Xcode 6.0.1
Saya mendapatkan masalah yang sama menggunakan Mavericks, Xcode 6.1.1, pengujian pada iPhone5 dengan iOS 8.1.1. Saya mencoba semua solusi yang mungkin termasuk sertifikat baru dan profil penyediaan, tetapi tidak ada yang membantu. Saya melakukan perubahan Embedded Content Contains Swift Codedan Runpath Search Pathspada level Proyek dan level Target.
Saya sekarang telah menginstal Yosemite, dan tanpa perubahan lebih lanjut, itu mulai berfungsi.
Masalah yang sama di sini, bagi saya itu adalah Crashlytics / Fabric / Beta / Twitter / Apa pun yang mereka sebut sendiri mengunggah biner yang hilang kerangka kerja tertanam. Jika saya membuat arsip dan kemudian mengekspor bangunan Perusahaan dengan cara standar, mereka bekerja dengan sangat baik.
otool
Jawaban:
Bagi saya tidak ada solusi sebelumnya yang berhasil. Kami menemukan bahwa ada bendera
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES
(dalam versi sebelumnya: "Konten Tertanam Berisi Kode Swift") dalam Pengaturan Bangun yang perlu diatur ke YA. Secara default TIDAK ada!sumber
Kesalahan ini dapat terjadi jika terjadi kesalahan selama konversi proyek Objective-C untuk mulai menggunakan Swift. Masalahnya adalah bahwa pengaturan build Linker tidak pernah dikonfigurasi dengan benar, jadi Anda harus melakukannya dengan tangan. Cari pengaturan build Runpath Search Paths dan atur ke:
EDIT: Saya juga harus menambahkan bahwa telah ada serentetan kesalahan baru-baru ini yang disebabkan oleh sesuatu yang sama sekali lain - Apple membuat perubahan pada Swift sendiri, dimulai dari mungkin Xcode 6.1 atau 6.1.1. Satu-satunya solusi tampaknya keluar dari Xcode, hancurkan sertifikat Anda di Akses Keychain, buka Pusat Anggota dan hapus semua sertifikat dan profil (kecuali profil untuk aplikasi di Store - Anda tidak dapat menghapusnya), dan kemudian mulai seluruh proses permintaan sertifikat dari awal.
sumber
Saya tidak begitu yakin mengapa pertanyaan ini sedang downvoting, saya punya masalah ini juga ketika saya pertama kali mencoba menggunakan Swift dengan proyek yang ada. Restart Xcode juga memperbaiki ini untuk saya.
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 build proyek dan atur
Always Embed Swift Standard Libraries
(sebelumnyaEmbedded Content Contains Swift Code
) flag keYES
Solusi 3:
Buka pengaturan proyek build dan tambahkan
@executable_path/Frameworks
keRunpath Search Paths
opsiSolusi 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
Subject: UID=269J2W3P2L, CN=iPhone Distribution: Company Name, O=Company Name, C=FR
mereka menambahkan bidang baru bernama OU
Subject: UID=269J2W3P2L, CN=iPhone Distribution: Company Name, OU=269J2W3P2L, O=Company Name, C=FR
jadi Anda harus membuat ulang sertifikat dan ketentuan
sumber
@executable_path/../Frameworks
mana proyek iOS memerlukannya tanpa..
di tengah. Mengubah nilai ini penting jika Anda mengonversi target dari satu OS ke yang lain.Dalam kasus saya, saya mencoba mengimpor kerangka kerja khusus dan mendapatkan kesalahan serupa. Ternyata saya harus mengimpor kerangka kerja di Binari Tertanam daripada ke Framework dan Perpustakaan Tertaut.
Binari Tertanam berada di bawah Pengaturan Proyek -> -> Umum
sumber
Untuk pengembang yang memiliki masalah ini dengan build distribusi Adhoc / Perusahaan,
Sumber: https://devforums.apple.com/message/1022908#1022908
sumber
Solusi 5:
Dalam kasus saya, semua solusi yang disebutkan dalam jawaban accfews sangat membantu tetapi tidak ada yang berhasil. Saya memecahkan masalah saya dengan menambahkan perpustakaan cepat saya di bagian "Biner Tersemat" di bagian "Umum" dari target Proyek saya. Mungkin ini karena fakta bahwa saya telah memasukkan kerangka kerja cepat saya di ruang kerja saya? Apa pun yang dikompilasi sekarang! Bersiaplah Swift, saya di sini!
sumber
Restart sederhana Xcode memecahkan masalah untuk saya.
sumber
Bagi saya, masalahnya adalah karena Otoritas Sertifikasi Hubungan Pengembang Apple Worldwide saya tidak valid.
Unduh dari sini: https://developer.apple.com/certificationauthority/AppleWWDRCA.cer
Seret dan letakkan di Akses Keychain, bersihkan proyek, dan jalankan.
sumber
Saya memiliki proyek Obj-C di mana saya mulai menambahkan file sumber cepat. Berikut ini yang memperbaiki masalah bagi saya:
RUNPATH SEARCH PATHS = $(inherited) @executable_path/Frameworks
EMBEDDED CONTENT CONTAINS SWIFT = YES
Saya baru saja membuat proyek baru dari template Xcode 6.3 dan membandingkan pengaturan proyek dengan proyek asli lama saya.
sumber
Coba tahan Alt, lalu pergi ke Produk -> Bersihkan Folder Bangun ...
Semoga ini bisa membantu seseorang ..
sumber
Ada banyak alasan mengapa hal ini terjadi. Baru saja menghabiskan akhir pekan yang menyenangkan menemukan masalah lain yang menyebabkan hal ini (urutan penandatanganan kode), saya ingin membuat ringkasan jawaban yang menyatukan semua solusi yang mungkin:
DerivedData
danBuild
direktori. Lihat di bawah Preferensi untuk lokasiDerivedData
.Build
harus ada di folder proyek Anda.@executable_path/Frameworks
.Itu hal yang mudah. Jika Anda melakukan pembuatan baris perintah sendiri, Anda mungkin membuat
.ipa
file sendiri untuk diunggah. Dalam hal ini Anda perlu memastikan yang berikut:SwiftSupport/iphoneos
sama dengan versi diContents/YourApp.app/Frameworks
Karena Swift belum kompatibel biner antara versi, Anda harus memastikan versi ini adalah yang Anda gunakan untuk membangun aplikasi. Anda dapat menemukan perpustakaan ini di bawah/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos
.codesign
pustaka dan file kerangka kerja (Frameworks
di bawah dalam.app
folder) pertama dan kemudian menandatangani seluruh.app
pohon. The.app
pohon harus ditandatangani denganentitlements.plist
tetapi tidak kerangka.Mudah-mudahan ketika Swift 3.0 keluar dan kita tidak perlu lagi membundel Swift dengan aplikasi kita, semua masalah ini akan hilang.
sumber
Saya mengalami masalah ini menggunakan mobileprovision Ad Hoc (atau perusahaan) dengan sertifikat produksi. Beralih ke sertifikat pengembangan dan mobileprovision menyelesaikan masalah ini.
sumber
Proyek saya adalah proyek Swift dengan beberapa kelas Objective-C. Saya memiliki masalah yang sama ketika ditandatangani dengan sertifikat inHouse (perusahaan) lama.
Langkah-langkah berikut memperbaiki ini untuk saya.
(Ref. AIRSIGN's blog )
Runpath Search Paths
membangun pengaturan ke:$(inherited) @executable_path/Frameworks
.(Ref. Matt's answer )
sumber
Solusi 6:
Dalam kasus kami, Sertifikat Distribusi Perusahaan telah dicabut. Membuat sertifikat baru dan memperbarui profil penyediaan memperbaiki masalah tersebut.
(Tampaknya ada banyak penyebab berbeda untuk kesalahan ini. Semoga ini bisa membantu seseorang.)
sumber
Saya mencoba semua jawaban yang diberikan di atas, tidak ada yang berhasil.
Akhirnya berfungsi setelah memperbarui ke Yosemite
sumber
Saya telah menghadapi masalah yang sama, pengaturan identitas tanda kode yang tepat memecahkan masalah (Build settings-> Code Signing Identity).
Sesuai pertanyaan teknis Apple "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"
sumber
Jika Anda menambahkan tiga kerangka kerja melalui Binari Tertanam, mereka akan ditambahkan ke Kerangka Kerja Tertaut dan Perpustakaan juga. Hapus tiga entri di Framework dan Perpustakaan Tertaut akan menyelesaikan masalah.
sumber
Menambahkan Kerangka sebagai "Biner Tersemat" bukan hanya "Kerangka Kerja Tertaut dan Pustaka" - Memperbaiki masalah saya.
Saya juga mengatur tanda Embedded Content Contains Swift Code ke YES.
sumber
Tingkatkan ke Versi Terbaru OS X (Yosemite)
Setelah berjam-jam trial & error saya sampai pada penyelesaian masalah ini. - Jika ini berlaku untuk kasus Anda tentu saja.
Saya memiliki masalah yang sama sampai saya memutakhirkan Mac OS X dari Mavericks ke Yosemite. - Itu memperbaiki masalah saya, berharap itu memperbaiki masalah Anda juga
sumber
Saya mencoba semua solusi yang ditemukan di web, termasuk untuk Apple dan sertifikat baru. Tanpa keberhasilan.
Satu-satunya cara saya bisa menjalankan xcode, setelah 6 bulan mencoba, adalah membuat akun baru di macbook saya.
sumber
Biasanya kesalahan ini akan hilang jika Anda menambahkan perpustakaan ini ke segmen "Salin File" di Fase Bangun Anda.
sumber
Dan jika semua hal di atas tidak membantu Anda dan Anda benar-benar frustrasi ... Cobalah trik terbaik dari semuanya:
Clean
dan hanya untuk memastikan jugaClean Build Folder
. :) Semoga ini bisa membantu seseorang!sumber
Tak satu pun dari solusi ini yang tampaknya bekerja secara konsisten untuk saya; setelah setiap pasangan yang berhasil, itu akan gagal lagi. Bendera "Embedded Content Contains Swift Code" selalu diatur ke YA untuk saya.
Ternyata saya akan menetapkan Xcode agar kompatibel dengan 6.3. Mengubahnya menjadi 3,2-kompatibel menyelesaikannya:
sumber
Saya punya masalah ini juga, hanya saja tidak ditemukan
libswiftXCTest.dylib
.Solusinya adalah menambah
XCTest.framework
target Tes, diBuild Phases/Link Binary with Library
. Saya mendapatkan kesalahan ini bahkan ketika saya mencoba membangun target utama.sumber
Ini muncul ketika saya menambahkan target ekstensi Today baru dengan bahasa Swift ke proyek lama. Diperbaiki dengan mudah dengan memperbarui proyek ke pengaturan yang disarankan. Xcode 6.0.1
sumber
Saya mendapatkan masalah yang sama menggunakan Mavericks, Xcode 6.1.1, pengujian pada iPhone5 dengan iOS 8.1.1. Saya mencoba semua solusi yang mungkin termasuk sertifikat baru dan profil penyediaan, tetapi tidak ada yang membantu. Saya melakukan perubahan
Embedded Content Contains Swift Code
danRunpath Search Paths
pada level Proyek dan level Target.Saya sekarang telah menginstal Yosemite, dan tanpa perubahan lebih lanjut, itu mulai berfungsi.
sumber
Masalah yang sama di sini, bagi saya itu adalah Crashlytics / Fabric / Beta / Twitter / Apa pun yang mereka sebut sendiri mengunggah biner yang hilang kerangka kerja tertanam. Jika saya membuat arsip dan kemudian mengekspor bangunan Perusahaan dengan cara standar, mereka bekerja dengan sangat baik.
sumber
Lingkungan saya: Cocos2d 2.0, Box2d, Objective C
Selain melakukan jawaban lain di atas, saya akhirnya pergi ke tab Umum dan menjadikan WatchKit Opsional.
sumber
Setelah berbulan-bulan mencoba semuanya di sini ... Definisi kegilaan ... memulai Xcode di bawah pengguna Mac baru menyelesaikannya untuk saya.
Saya menghapus ~ / Library / Developer / * dan menginstal ulang Xcode- jadi tidak ada petunjuk apa lagi untuk memformat agar berfungsi.
sumber