Xcode - ld: perpustakaan tidak ditemukan untuk -lPods

185

Saya mendapatkan kesalahan ini ketika saya mencoba membangun aplikasi iOS.

ld: library not found for -lPods
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Ld /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator/Totalbox.app/Totalbox normal x86_64
cd /Users/Markus/Development/xcode/totalbox-ios
export IPHONEOS_DEPLOYMENT_TARGET=7.1
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -isysroot 
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk -L/Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator -F/Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator -filelist /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Intermediates/Totalbox.build/Debug-iphonesimulator/Totalbox.build/Objects-normal/x86_64/Totalbox.LinkFileList -Xlinker -objc_abi_version -Xlinker 2 -ObjC -framework CoreGraphics -framework Foundation -framework MobileCoreServices -framework QuartzCore -framework Security -framework SystemConfiguration -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=7.1 -framework CoreGraphics -framework UIKit -framework Foundation -lPods -Xlinker -dependency_info -Xlinker /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Intermediates/Totalbox.build/Debug-iphonesimulator/Totalbox.build/Objects-normal/x86_64/Totalbox_dependency_info.dat -o /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator/Totalbox.app/Totalbox

PODS ROOT dalam pengaturan build:

${SRCROOT}/Pods

Saya tidak membuat proyek Xcode ini - hanya menariknya dari git untuk memeriksanya.

Tuan
sumber

Jawaban:

601

Jika proyek menggunakan CocoaPods waspada untuk selalu membuka .xcworkspacefile, bukan .xcodeprojfile.

H6.
sumber
2
Saya juga merasa terbantu untuk membangun target pod, bukan target Xcode normal.
Don Simon
1
Setelah saya membukanya, saya tidak bisa menjalankan proyek sama sekali. apa yang harus saya lakukan?
Inuyasha
Saya perhatikan bahwa referensi Podsada di .xcodeprojtetapi tidak di .xcworkspace, maka mengapa solusi ini berfungsi.
Jacksonkr
1
Cd ke folder proyek dan jalankan "pembaruan pod". Jika Anda tidak memiliki pod, cari cara menginstalnya.
justinkoh
2
Saya mendapat pesan kesalahan saat membuka .xcworkspace (lebih spesifik, ini berfungsi satu kali pada mac dan tidak pada yang lain). Dalam kasus saya, menemukan masalah terkait dengan pengubahan nama proyek dan kemudian menyalinnya ke komputer lain , libs tidak disalin ke lokasi baru. bandingkan: /Users/[USERNAME]/Library/Developer/Xcode/DerivedData/[OLDPROJECTNAME]-[LONGRNDCHARS]/Build/Productske:/Users/[USERNAME]/Library/Developer/Xcode/DerivedData/[NEWPROJECTNAME]-[LONGRNDCHARS]/Build/Products
Yatko
97

Punya masalah ini juga. Ada yang salah dengan instalasi CocoaPods saya. Tidak ada pod selain KIF yang dipasang dengan benar. Saya mengikuti komentar di utas ini untuk membantu.

Pada dasarnya, saya perlu memastikan bahwa Build Active Architectures Onlypengaturan untuk proyek saya dan proyek Pods sama.

Stunner
sumber
7
Saya harus memastikan itu juga sama antara target proyek saya dan target pod ...
Nimrod Shai
Ini terjadi pada saya setiap 6 bulan sekali, dan saya tidak pernah bisa mengingat bagaimana saya menyelesaikannya terakhir kali ... Membangun Arsitektur Aktif Saja. . . Semoga kita semua ingat
Kanongata
51

Setelah berjam-jam penelitian solusi ini bekerja untuk saya:

(penafian: hasil dapat bervariasi karena keadaan)

yang Library not found -lPods-(someCocoapod)error adalah karena beberapa entri di:

Settings(Target) > Build Settings > Linking > 'Other Linker Flags'

Banyak posting lain yang telah saya lihat di sana dan saya akan melihat perubahan pada kesalahan ketika saya mengacaukan entri, tetapi saya terus mendapatkan beberapa variasi pada kesalahan yang sama.

Terlalu banyak jam yang hilang ...

Perbaiki Saya:

hapus baris -lPods- (someCocoaPod) di daftar 'Other Linker Flags' TAPI hanya jika $ (diwariskan) ada di atas. Pada awalnya saya tidak yakin, tetapi tanda yang meyakinkan adalah bahwa saya masih melihat referensi ke cocoapod saya ketika saya meninggalkan mode edit (diwarisi). Saya menguji dalam debug dan rilis, keduanya memberi saya kesalahan, dan masalahnya segera diselesaikan.

Damote
sumber
bekerja seperti pesona, terima kasih. Saya hanya memiliki masalah ini ketika memperbarui ke Swift 2.0 di El Capitan. Bekerja dengan sempurna sebelumnya.
Ovi
Saya hanya memiliki $ (diwarisi) dan pada saat yang sama saya memiliki dupes frustasi ini. Di mana saya dapat mengedit nilai yang asli ke variabel $ (diwariskan)?
nickolay
Anda menyelamatkan manusia hari saya .... terjebak dalam masalah ini untuk sementara waktu ... itu terjadi karena saya telah menghapus seluruh proyek pod dan menambahkannya lagi
Mihir Mehta
Tetap untuk saya juga. Tidak akan pernah menemukan ini sendiri!
bmueller
Kamu mengalahkan! Bekerja seperti pesona
Rob Sanders
31

Sepertinya proyek telah menggunakan cocoapods . dan bahwa file hilang dari proyek Anda.

Anda tidak bisa mengunduhnya dari git. Anda perlu menginstalnya dari cocoapods.

untuk bantuan lebih lanjut, Anda dapat mengikuti Pengantar Tutorial CocoaPods

Jika penggunaan proyek CocoaPodssadar untuk selalu membuka .xcworkspacefile, bukan .xcodeprojfile

Rahul Patel
sumber
1
@RahulPatel Cara menginstal file tertentu dapat Anda berbagi perintah
Ashok Londhe
Jika Anda ingin menggunakan versi beta baru, Anda dapat menggunakan:pod 'GoogleAds-IMA-iOS-SDK-For-AdMob', '3.0.beta.16'
Berendschot
27

Jika Anda memiliki banyak target dalam proyek Anda, Cocoapods mungkin hanya terintegrasi dengan baik dengan salah satu dari mereka.

Saya harus menautkan secara manual ke libPods.a"Tautan Biner Dengan Perpustakaan" untuk setiap target tambahan yang saya miliki.

libPods.a dalam daftar kerangka kerja saya

Rizwan Sattar
sumber
Saya pikir pod install tidak terintegrasi file libPods.a ke semua target, Seperti Rizwan isntruction saya telah menambahkan dan berfungsi ... Terima kasih Rizwan Sattar
Wagh
Ini bekerja untuk saya meskipun tidak ditampilkan dengan warna merah. Saya berlari menginstal pod setelah itu dan tidak menambahkannya, semuanya tampaknya berfungsi sekalipun.
Jules
2
Sebenarnya, apa yang perlu saya lakukan adalah menghapus perpustakaan (nama-proyek-nama) saya yang sudah usang karena saya mengganti nama proyek sebelumnya dan hanya macet di sana. Saya meningkatkan nilai jawaban Anda karena memberi saya gagasan tentang di mana masalahnya.
kalafun
Anda adalah penyelamat hidup!
Yuliwee
24

Masalah saya telah diperbaiki oleh konfigurasi berikut:

Build Active Architecture Only: YES
Durul Dalkanat
sumber
Ini bekerja untuk saya ketika saya mengalami masalah dengan SDWebImage .... bagi mereka yang telah menemukan jalan mereka di sini untuk komponen Cocoapod
Scott D
Ini memecahkan masalah itu untuk saya, tetapi menyebabkan masalah lain. Saya perlu membangun untuk semua arsitektur, bukan hanya yang aktif.
HotFudgeSunday
Dalam kode lama saya mengintegrasikan pod. Saya menghadapi masalah yang sama. Jawaban di atas membantu.
Shashank Kulshrestha
15

Jika ada yang datang ke sini untuk menyelesaikan kesalahan react-native-fbsdksetelah menginstalnya menggunakan Cocoapods, perlu diingat bahwa Anda harus menghapus semua file .a lainnya di Proyek Anda membangun fase dan hanya menjaga .a dari cocoapods dipanggil libPods-WhateverAppName.a.

Hanya itu yang tersisa di sini

Ini biasanya disebabkan dari menjalankan rnpm linkdan cara rnpm bekerja.

Setelah saya menghapus facebook core .a file dari fase build saya proyek saya sudah aktif dan berjalan sekali lagi.

SudoPlz
sumber
11

Masalah yang terkait dengan lPod ini dapat diperbaiki dengan mengikuti langkah-langkah di bawah ini

  • Pilih Target Proyek Anda.
  • Pergi ke "Build Phases"dalam "Link Binary With Libraries".
  • Sekarang hapus ".a"file perpustakaan itu yang menciptakan masalah.
  • Bersih dan Bangun.

Ini akan bekerja

Abuzar Amin
sumber
Dalam kasus saya menghapus libstdc++.6.dylibmenyelesaikan masalah!
Igor de Lorenzi
Bagaimana dan di mana Anda menghapus "libstdc ++. 6.dylib", karena saya harus menghapus "-lstdc ++. 6". Saya mendapatkan "perpustakaan tidak ditemukan untuk -lstdc ++. 6"
Hari Narayanan
10

Tidak ada jawaban di atas yang memperbaikinya untuk saya.

Apa yang saya lakukan malah dijalankan pod installdengan podperintah di luar targetbagian. Jadi misalnya:

#WRONG
pod 'SOMEPOD'

target "My Target" do
    pod 'OTHERPODS'
end

Saya segera memperbaikinya dan mengembalikan pod yang salah kembali ke targetbagian tempatnya dan berlari pod installlagi:

# CORRECT
target "My Target" do
    pod 'SOMEPOD'
    pod 'OTHERPODS'
end

Tetapi yang terjadi pada saat itu adalah bahwa lib -libPods.aditambahkan ke perpustakaan terkait saya, yang tidak ada lagi dan tidak boleh karena sudah -libPods-My Target.aada di sana.

Jadi solusinya adalah masuk ke pengaturan Umum Target saya dan pergi ke Linked Frameworks and Libraries dan hapus saja -libPods.adari daftar.

saus
sumber
Saya memasang cocoapod dengan benar untuk proyek saya, tetapi memiliki kesalahan yang sama dengan OP. Menghapus -libPods.a menyelesaikannya untuk saya. Terima kasih, tuan.
NKorotkov
Saya memperbarui proyek lama, dan membatalkan Podfile lama dan berlari pod inituntuk menyiapkan yang baru, dan menemukan file lama itu seperti # WRONGcara Anda , dan file baru itu seperti # CORRECT. Terima kasih!
BJ Miller
8

Langkah saya:

  1. Hapus folder pod dan file 'Pods'.
  2. Ketik "instal pod" ke Terminal.
  3. Ketik "pembaruan pod" ke Terminal.

Selain memastikan "Membangun Arsitektur Aktif" diatur ke YA sebagaimana disebutkan dalam jawaban sebelumnya, inilah yang telah melakukannya untuk saya.

David Liu
sumber
+1 Dalam kasus saya, apakah itu -lHelpshiftatau nama pod tertentu. Maka saya hanya menghapus folder tertentu demikianlah Pods/Helpshift. Lalu lakukan pod installlagi. Tidak perlu memperbarui. Ini berfungsi sekarang.
haxpor
1
Menghapus semua pod dan menginstal ulang membantu.
Sanad Liaquat
7

Punya masalah yang sama setelah memutakhirkan Deployment targetdari 7.0ke 8.0dan mengaktifkanuse_frameworks!

cocoapodstidak menghapus PodName.afile yang dihasilkan sebelumnya dari Frameworksbagian proyek saya.

Jadi saya harus menghapusnya secara manual, karena mereka menyebabkan linker error

Tim
sumber
4

Hapus semua file / folder yang sesuai dari sumber cocoapods yang diimpor kecuali podfile.

install cocoapod lagi. Ini harus menghapus setiap tarikan yang berlebihan dari sumber aslinya.

ituzprem
sumber
3

Ketika Anda mengkloning proyek dari suatu tempat yang menggunakan Cocoapods Anda harus menginstalnya ke proyek Anda.

Berikut langkah demi langkah yang perlu Anda lakukan:

  • 1) mengklon kode sumber ke mesin lokal;
  • 2) tutup proyek xcode (jika terbuka);
  • 3) instal aplikasi cocoapods di mac Anda dengan menjalankan perintah ini di terminal: " gem install cocoapods ", tambahkan " sudo " di awal jika tidak berfungsi;
  • 4) pergi ke root proyek xcode Anda dengan menggunakan perintah " cd " di terminal;
  • 5) Anda harus memiliki Podfile di folder ini; jika Anda ingin mengeceknya gunakan: " cat Podfile " perintah, itu akan menampilkan konten file ini dengan Libraries yang harus diinstal ke proyek Anda;
  • 6) kemudian gunakan perintah " pod install " untuk mengunduh dan menginstal Perpustakaan ke proyek Anda; yang Podfile.lock akan dibuat dan {proyek Nama Anda} .xcworkspace berkas;
  • 7) mulai sekarang Anda harus menggunakan {nama proyek Anda} .xcworkspace untuk membukanya di xcode;

Semoga berhasil!

Renat Gatin
sumber
3

Ini adalah masalah saya saat mencoba mengintegrasikan Firebase ke proyek Xcode saya menggunakan cocoapods

library not found for -lGoogleToolboxForMac
linker command failed with exit code 1 (use -v to see invocation)

Setelah berjam-jam mencari dan mencoba berbagai perbaikan yang tercantum dalam stackoverflow, masalah saya akhirnya diperbaiki dengan melakukan langkah-langkah berikut

  1. Pergi ke Build Settings, cari Other Linker Flags, hapus semua nilai yang diharapkan$(inherited) Gambar

Lakukan ini untuk semua target.

  1. Hapus folder pod. ( ios/Pods)
  2. Melakukan pod update

Voila! Semua kesalahan tautan akan hilang.

Hariks
sumber
Ini perlu terjadi untukku juga. Namun, juga dalam kasus saya itu adalah aplikasi asli yang ditambahkan menambahkan Firebase Analytics. Pada Juli 2018, semua aplikasi harus dibangun dengan iOS 11 per Apple: developer.apple.com/ios/submit/ Setelah saya pergi ke tab General saya dan menggulir ke bawah ke Deployment Info / Target Penerapan dan mengubahnya dari 10.x yang adalah apa yang saya targetkan, ke 11.x - aplikasi yang dibangun / diarsipkan dan saya dapat mengirimkan.
bo_
2

Bagi saya, mengikuti telah berhasil.

  1. Pergi ke "Target Proyek -> Pengaturan Bangun -> Preprocessing -> Preprocessor Macro". Tetapkan "COCOAPODS = 1" di semua Debug, Integration, Release di bawah "Preprocessor Macros"
  2. Tambahkan yang berikut ini di "Bendera Penghubung Lainnya" di bawah "Target Proyek"
    1. $ diwarisi
    2. -ObjC
    3. -lc ++
    4. -all_load

Bersihkan dan jalankan proyek. Jika masih menerima kesalahan yang sama maka cobalah dengan menetapkan "Target Proyek -> Bangun Pengaturan -> Bangun Arsitektur Aktif Saja", Setel "Debug" menjadi "YA" dan setel "Integrasi dan Lepaskan" ke "Tidak". Kemudian Ulangi pengaturan yang sama "Hanya Membangun Arsitektur Aktif" untuk semua "Target Pods"

Bersihkan dan jalankan proyek. Jika Anda menerima kesalahan berikut

 No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=i386).

Lalu coba Tuan Mike menjawab di tautan ini

Xcode 5.1 - Tidak ada arsitektur untuk dikompilasi untuk (ONLY_ACTIVE_ARCH = YA, arch aktif = x86_64, VALID_ARCHS = i386)

Semoga ini bisa membantu!

Sakthimuthiah
sumber
2

Dalam sebuah proyek dengan banyak target, saya memiliki masalah yang sama setelah mengubah Skema dan nama Aplikasi dan mencoba memperbarui pod. Masalah ini disebabkan karena beberapa entri dalam Bangun Fase -> Tautkan Biner dengan Pustaka tempat pustaka .a dan saat ini terdaftar, sedangkan yang sebelumnya tidak ada lagi. Menghapus perpustakaan dari sana menyelesaikan masalah.

Shardon
sumber
1

Jalanku

  1. buat proyek baru dan instal pod itu akan dapat berjalan tanpa kesalahan.

  2. Salin teks di "Bendera Penghubung Lainnya" dalam proyek baru ke proyek lama. Buat proyek lama menjadi proyek baru yang sama.

  3. Periksa "Jalur Pencarian Header" juga.

Supapon Pick Pucknavin
sumber
1

Bagi saya ini berhasil. Saya telah mengubah nama aplikasi saya dari someApp ke otherApp. Dan saya menggunakan cocoa pod untuk beberapa integrasi layanan pihak ketiga. Jadi Karena itu 2 file libPod ditambahkan (Karena saya telah mengubah nama dan target aplikasi). Akhirnya saya harus menghapus satu libPod. Dan itu berhasil.

target-> Bangun fase-> Tautkan Biner Dengan Perpustakaan

Narasimha Nallamsetty
sumber
1

Saya mendapat kesalahan yang sama.

Masalahnya : Saya membuat ruang kerja terpisah dan menambahkan proyek saya yang ada ke dalamnya. Saya mendapat kesalahan ketika saya bekerja di Workspace itu.

Cara mengatasinya : Kemudian saya menemukan bahwa Workspace akan dibuat secara otomatis di dalam proyek yang ada ketika dependensi ditambahkan. Dan harus bekerja di ruang kerja itu.

Vasanth
sumber
Jawaban ini tidak dengan jelas menyatakan bagaimana cara memperbaiki pertanyaan yang telah diajukan
Tandai
1

Solusi di bawah ini bekerja untuk saya untuk versi 2.3 core-plot. Lakukan perubahan di bawah ini di bawah bagian bendera tautan lainnya.

1.Tambahkan $ (diwarisi) dan seret item ini ke posisi teratas 2.Hapus awalan "Pods-" dari -l "Pods-fmemopen", l "Pods-NSAttributedStringMarkdownParser" dan -l "Pods-MagicalRecord".

jika masih ada masalah, Akhirnya lihat apakah PODS_ROOT disetel atau tidak. Anda dapat memeriksanya di bawah bagian yang ditentukan pengguna.

Saikiran K
sumber
1

Saya memiliki masalah yang sama

instal pod dan pembaruan pod pada baris perintah menyelesaikan masalah saya

tamtoum1987
sumber
1

Jika proyek menggunakan CocoaPods waspada untuk selalu membuka file .xcworkspace alih-alih file .xcodeproj. jika Anda menggunakan .xcworkspace, Silakan instal ulang file pod dengan menghapus pod dan masukkan lagi pod dan instal !!! ini bekerja untuk saya

Chintu anak yang keren
sumber