Hapus atau hapus pustaka yang sebelumnya ditambahkan: cocoapods


320

Saya menambahkan kerangka kerja eksternal melalui cocoapods ke dalam aplikasi iOS saya. Bagaimana saya bisa menghapus perpustakaan itu dari proyek?

Jawaban:


317

Karena efek samping jawaban yang diterima telah dihapus oleh skrip yang ditulis oleh Kyle Fuller - deintegrate , saya akan memposting alur kerja yang tepat di sini:

  1. Instal bersih:

    $ sudo gem install cocoapods-clean
  2. Jalankan deintegrate di folder proyek:

    $ pod deintegrate

  3. Bersih:

    $ pod clean

  4. Ubah podfile Anda (hapus baris dengan pod yang tidak ingin Anda gunakan lagi) dan jalankan:

    $ pod install

Selesai


2
Pod ini harus menjadi jawaban yang diterima, karena jauh lebih menyeluruh. Meskipun, sebelum mengikuti alur kerja ini, saya akan menyarankan untuk menghapus isi direktori Data Berasal proyek, dan pastikan untuk melakukan perubahan proyek ke repositori kode yang ada. Akhirnya, setelah berjalan pod install, saya membuka file Xcode xcworkspace, melakukan pembersihan penuh pada folder build (alt + shift + command + K), dan peringatan / kesalahan linker hilang. Pod sekarang berhasil dihapus dari proyek.
Mark Barrasso

Catatan untuk @All: Perintah ini cocoapods-cleanmenghapus Podfiledan.xcworkspace
Suhaib

6
Tampaknya sekarang pod deintegrateresmi: guides.cocoapods.org/terminal/commands.html#pod_deintegrate Tidak perlu sudo gem install cocoapods-deintegrate.
Pang

4
Saya yang kedua dari @ZinWinHtet, ketika saya coba pod cleansaya dapatkan:$ pod clean [!] Unknown command: clean
ScottyBlades

2
ya ..., pod clean sudah tidak ada lagi menurut saya.
Zin Win Htet

455

Hapus lib dari Podfile, lalu pod installlagi.


9
Ketika saya melakukan ini, saya pergi dengan lusinan peringatan di XCode 5 mengeluh bahwa ruang kerja tidak dapat menemukan file yang dihapus. Saya sudah mencoba membersihkannya secara manual tetapi belum berhasil. Bagaimana Anda bisa menghapus pod dengan bersih?
Matt Mombrea

8
Temukan file pod di Finder, lalu hapus masing-masing pod (Anda akan melihat mereka kehilangan file .h dan .m). Lalu pod update. Itu berhasil bagi saya.
AMayes

9
Anda juga mendapatkan peringatan yang menyebutkan @MattMombrea jika Anda berhasil menghapus podfiles, tetapi belum melakukan perubahan. Pastikan semuanya dikomit ke repositori kode.
HughHughTeotl

1
Artikel yang menyebutkan @vrunoa sekarang merupakan tautan mati. Artikel ini bermanfaat: stackoverflow.com/questions/16427421/…
Lane Rettig

2
Saya ingin menghapus kerangka kerja yang diinstal oleh pod tanpa memperbarui atau menginstal podfile
Anand Prakash


5

Tak satu pun dari ini bekerja untuk saya. Saya memiliki pod versi 1.5.3 dan metode yang benar adalah menghapus pod yang tidak lagi diperlukan dari Podfile dan kemudian jalankan:

pod update

Ini memperbarui file Podfile Anda. Buka dari Podfile Anda, menghapus pustaka yang telah dihapus dan memperbarui semua pustaka Anda.


1
Anda tidak perlu memperbarui semua perpustakaan di proyek Anda (sesuatu yang bisa sangat berbahaya) hanya untuk menghapus perpustakaan. Ada banyak cara yang lebih baik di utas ini termasuk menghapus pod dari podfile Anda dan kemudian menjalankanpod install
Braden Holt

Ini memperbarui semua versi perpustakaan Anda dan secara alami menghapus salah satu yang tidak ada lagi di Podfile, tetapi apakah Anda benar-benar ingin memperbarui perpustakaan? Menghapus pod dan pod installmerupakan cara yang benar.
Karim Mortabit

1
  1. Hapus nama pod (yang akan dihapus) dari Podfile lalu
  2. Buka Terminal, setel path folder proyek
  3. Jalankan instal --no-integr

1
Saya mendapatkan kesalahan ini:[!] Unknown option: '--no-integrate'
neoneye

-1

Hapus nama pod dari PodfileOpen Terminal, setel path folder proyek dan Jalankan pod updateperintah.

CATATAN: pod updateakan memperbarui semua perpustakaan ke versi terbaru dan juga akan menghapus perpustakaan yang namanya telah dihapus dari podfile.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.