Saya tidak bisa menghilangkan kesalahan ini!
Saya telah mencoba segala macam hal seperti membersihkan Data Berasal (Preferensi-> Lokasi-> klik panah abu-abu untuk membuka folder Data Berasal di Finder-> klik kanan, pindah ke sampah), membersihkan proyek (CMD + Shift + K atau Produk -> Bersihkan), perbarui carthage dan dependensi, periksa jawaban lain di StackOverflow (sebagian besar penyesuaian dalam Pengaturan / Fase Build), dan reklon aplikasi dari github, dll.
Proyek yang sama bekerja di komputer kolaborator saya ..
EDIT: Dari jawaban teratas saat ini, saya dapat melakukan debug sedikit lebih jauh ... Saya masih belum yakin bagaimana cara memperbaikinya. Sepertinya saya memiliki sesuatu dalam proyek ini dua kali? Saya melihat dan tidak dapat menemukan apa pun yang muncul dua kali!
Jawaban:
saya menghadapi masalah yang sama hari ini di xcode 8 versi 8.3.2
klik kanan pada masalah -> tampilkan di log
maka Anda dapat memeriksa apa yang menyebabkan masalah itu
sumber
Mungkin Anda menginstal file pod dan Anda masih mencoba membangun dari
.xcodeproj
file, bukan.xcworkspace
sumber
.xcodeproj
selama lebih dari setahun .. Sesuatu yang sederhana ini!satu-satunya hal yang berhasil bagi saya adalah menjalankan
pod deintegrate
danpod install
sumber
apakah kamu mencoba bersih? cmd + shift + k
sumber
Oke ... Jadi inilah yang memecahkan masalah saya ...
di File Delegasi Aplikasi:
Saya telah mengimpor Credentials.h di file DarkSkyAPI.m dalam proyek saya. Mengomentari impor ekstra membuat kesalahan hilang!
Beberapa hal untuk disebutkan dan mungkin membantu siapa pun di masa depan. Jawaban @ umairqureshi_6 memang membantu saya selama proses berlangsung, tetapi tidak menyelesaikannya. Dia memimpin ke tempat saya bisa menggali info. Saya terus melihat file AppDelegate dan DarkSkyAPI muncul di log kesalahan dan informasi yang ditarik dari file Kredensial menyebabkan kesalahan. Saya tahu itu pasti ada di salah satu dari 3 file ini, jadi saya segera memeriksa impor, karena saya ingat mendengar bahwa .h membawa semua impor dari file .mnya. Ledakan!
sumber
Saya sekarang pertanyaannya sudah terjawab. Tetapi jika ini membantu seseorang menghemat waktu: Saya mengalami kesalahan yang sama. Saya memeriksa semuanya untuk menemukan kesalahan yang sangat kecil dan bodoh dari sisi saya. Saya mengimpor file kustom ManagedObject data inti dalam pengontrol tampilan proyek saya. Saya tidak sengaja mengimpor file .m alih-alih file .h yang menyebabkan simbol duplikat dalam kesalahan arsitektur (perintah penaut gagal) karena file .m kelas properti saya mengimpor file .h dari kelas data inti dan karenanya menyebabkan impor duplikat.
Jadi periksa saja apakah Anda telah mengimpor file yang benar sebelum Anda mencoba beberapa solusi.!
sumber
Banyak solusi yang disebutkan di atas. Tidak ada yang berhasil untuk saya (tapi coba di atas dulu).
Pilih Project -> Pilih Target -> Linked Framework and Libraries -> Tambahkan semua perpustakaan pod. (hapus jika ada di biner tersemat)
Sekarang hapus ini dari Framework Folder di file explorer kiri xcode.
Ini memecahkan masalah saya.
sumber
Pilih proyek-> Build Phase-> Tautkan Biner dengan perpustakaan dan tambahkan semua perpustakaan pod.
sumber
Saya memiliki masalah yang sama saat menggunakan Carthage untuk dependensi.
Cukup masuk ke Select Project -> Build Settings -> Search for Enable Bitcode -> Jika dipilih ke Yes, pilih No.
Itu memecahkan masalah ini untuk saya.
sumber
Saya memiliki masalah yang sama.
Penyebabnya adalah saya mendeklarasikan variabel global yang sama dalam 2 file . Jadi itu menunjukkan kesalahan yang sama mengatakan 2 simbol duplikat .
Solusinya adalah menghapus variabel tersebut.
sumber
Untuk siapa pun yang mengalami masalah ini dengan kerangka kerja Flurry. Inilah yang memperbaiki masalah saya. Bagi saya masalahnya adalah saya telah mengimpor file berikut tetapi tidak pernah menggunakannya. "libFlurryTVOS_9.2.3" "libFlurryWatch_9.2.3"
Jadi yang harus saya lakukan adalah pergi ke pengaturan target proyek dan menghapus 2 file ini dari bagian "Kerangka kerja dan pustaka yang terhubung" dan masalahnya teratasi.
sumber
Dalam kasus saya, alasan kesalahan adalah pustaka yang ditautkan dua kali.
Saya menggunakan
react-native
jadi itu ditautkan secara otomatis menggunakanreact-native link
dan secara manual di xcode.sumber
Pastikan
Find Implicit Dependencies
kotak centang dicentang.(Produk -> Skema -> Edit Skema -> Build -> Temukan Dependensi Implisit)
sumber
Saya menguji kerangka kerja Sparkle dengan CocoaPods.
Sayangnya, saya taruh
pod 'Sparkle', '~> 1.21'
PodFile di tempat yang salah. Saya meletakkannya di bawah Pengujian (untuk pengujian unit).Setelah ditempatkan di tempat yang benar di PodFile, semuanya baik-baik saja.
sumber
Saya hanya harus melakukannya
import Foundation
!Saya menggunakan Kitura untuk sisi server Swift dan terus melupakan ini!
sumber
Inilah masalah dan solusi saya:
Saya menghapus dua file dari kode sumber menggunakan pohon sumber (Pengontrol versi). Setelah menerapkan diff, yang berisi dua kelas yang saya hapus, Xcode tidak menambahkannya secara otomatis. Jadi saya mendapat kesalahan tautan.
Saya menambahkan file secara manual, dengan klik kanan pada nama grup dan pilih "Tambahkan file ke". Sekarang kesalahan saya teratasi.
Jika ada yang menghadapi kesalahan penaut terkait file kelas, coba tambahkan secara manual.
sumber
Tidak mengalami masalah ini saat saya membuat dan menjalankan perangkat saya sendiri. Hanya mengalami masalah ini dengan simulator. Saya baru saja me-restart komputer saya dan menjalankannya. Berhasil.
sumber
Dalam kasus saya, saya telah mengubah
Target
nama di sayaPodfile
Jadi itu membuat Kesalahan yang sama untuk saya.Pergi saja
project-> Build Phase->Link Binary with libraries
Hapus yang lamaFrameWorks
dengan mengklikminus button(-)
Dan bersihkan dan Jalankan lagi. Itu berhasil saya.Hapus Tidak Diinginkan
.framework
.sumber
Jawaban lain tidak berhasil untuk saya, jadi di sini saya membagikan solusi saya jika itu dapat membantu orang lain:
Masalah saya adalah bahwa saya mengonfigurasi Podfile dari XCode-Project saya untuk platform yang salah. Mengubah "platform: ios" di awal Podfile saya menjadi "platform: macos" berhasil bagi saya untuk menghilangkan kesalahan.
sumber
Saya memiliki masalah yang sama. Jika Anda memeriksa proyek github apa pun, alih-alih menggunakan git clone, gunakan git lfs clone, karena terkadang, beberapa file besar tidak dikloning dengan benar hanya dengan menggunakan git. Selain itu, pastikan bitcode Anda dinonaktifkan.
sumber
Bagi saya, file kunci permata menentukan versi cocoapods yang lebih lama daripada yang telah saya instal. Aku harus re-cabang dan menjalankan
bundle exec pod install
bukannyapod install
sumber
Sepertinya masalahnya berbeda untuk kebanyakan dari kita, dan pesan kesalahan memiliki info yang layak. Dalam kasus saya, Deployment Target ditetapkan
10.13
olehexport MACOSX_DEPLOYMENT_TARGET=10.13
garis, tetapi saya tetap berjalan10.14
. Jadi saya harus mengalihkan Target Deployment saya ke10.14
di General> Deployment Info, agar simbol terkait ITLibrary tersedia lagi.sumber
Dalam kasus saya, saya menghasilkan banyak produk dari proyek yang sama. Untuk salah satu produk, file
main.m
file tersebut mengimpor file header dari folder lain di bawah proyek yang sama. Tetapi file itu tidak disertakan dalam "Sumber yang Disetujui" di bawah "Tahap Pembuatan". Ini menyebabkan kesalahan penaut.Setelah dengan hati-hati membandingkan pengaturan "Build Phases" untuk produk yang dapat dibangun dengan sukses, saya menyadari bahwa
.m
file header perlu dimasukkan dalam daftar "Compiled Source". Masalah saya teratasi setelah menambahkan file itu. Melampirkan gambar untuk kejelasan. File yang disorot harus ditambahkan.sumber
Saya mendapat masalah yang sama saat membuat build proyek Ionic 1.
Saya dapat menyelesaikan masalah setelah menghapus file CDVLogger.h & CDVLogger.m
sumber
Oke, saya mengalami masalah yang sama hari ini dan mulai mencari di Google, ketika saya menemukan utas ini. Saya belum selesai membaca pertanyaan ketika jawabannya muncul di benak saya: Saya mendeklarasikan kelas dengan konstruktor kosong
Kemudian saya berpikir mengapa tidak menghentikan (tidak yakin apakah saya benar dengan pemilihan kata di sini, tapi siapa yang peduli) konstruktor kelas saya dengan tanda kurung kurawal (
{}
). Jadi saya melakukan:Masalahnya teratasi, kode saya mulai bekerja dengan sempurna.
Saya tahu, praktik yang baik adalah menyelidiki masalah dan menemukan penyebab sebenarnya, tetapi ini berhasil untuk saya.
sumber