Xóa hoặc gỡ cài đặt thư viện đã thêm trước đó: cocoapods


320

Tôi đã thêm một khung bên ngoài thông qua cocoapods vào ứng dụng iOS của mình. Làm thế nào tôi có thể loại bỏ thư viện đó khỏi dự án?

Câu trả lời:


317

Vì các tác dụng phụ của câu trả lời được chấp nhận đã bị xóa bởi một tập lệnh được viết bởi Kyle Fuller - deintegrate , tôi sẽ đăng quy trình làm việc phù hợp tại đây:

  1. Cài đặt sạch:

    $ sudo gem install cocoapods-clean
  2. Chạy deintegrate trong thư mục của dự án:

    $ pod deintegrate

  3. Dọn dẹp:

    $ pod clean

  4. Sửa đổi podfile của bạn (xóa các dòng với các pod bạn không muốn sử dụng nữa) và chạy:

    $ pod install

Làm xong.


2
Pod này nên là câu trả lời được chấp nhận, bởi vì nó kỹ lưỡng hơn nhiều. Mặc dù, trước khi thực hiện quy trình công việc này, tôi sẽ đề nghị xóa nội dung của thư mục Dữ liệu được tạo của dự án và đảm bảo cam kết các thay đổi của dự án với kho lưu trữ mã hiện có. Cuối cùng, sau khi chạy pod install, tôi đã mở tệp Xcode xcworkspace, thực hiện dọn dẹp hoàn toàn trên thư mục bản dựng (alt + shift + lệnh + K) và các lỗi cảnh báo / liên kết đã biến mất. Pods hiện đã được gỡ cài đặt thành công từ dự án.
Mark Barrasso

Lưu ý tới @ ALL: Lệnh này cocoapods-cleansẽ xóa Podfile.xcworkspace
Suhaib

6
Có vẻ như bây giờ pod deintegratelà chính thức: guide.cocoapods.org/terminal/commands.html#pod_deintegrate Không cần sudo gem install cocoapods-deintegrate.
Pang

4
Tôi thứ hai từ @ZinWinHtet, khi tôi thử pod cleantôi nhận được:$ pod clean [!] Unknown command: clean
ScottyBlades

2
vâng ..., pod sạch không còn tồn tại nữa tôi nghĩ.
Zin Win Htet

455

Xóa lib khỏi Podfile, sau đó pod installmột lần nữa.


9
Khi tôi làm điều này, tôi để lại hàng tá cảnh báo trong XCode 5 phàn nàn rằng không gian làm việc không thể tìm thấy các tệp bị xóa. Tôi đã cố gắng tự làm sạch nó nhưng không thành công. Làm thế nào bạn có thể loại bỏ một cách sạch sẽ một pod?
Matt Mombrea

8
Tìm tệp nhóm trong Finder, sau đó xóa từng nhóm riêng lẻ (bạn sẽ nhận thấy họ đang thiếu các tệp .h và .m). Sau đó pod update. Điều đó làm việc cho tôi.
AMayes

9
Bạn cũng nhận được các cảnh báo mà @MattMombrea đề cập nếu bạn đã xóa thành công các podfiles, nhưng không cam kết thay đổi. Hãy chắc chắn rằng tất cả mọi thứ được cam kết với kho lưu trữ mã.
HughHughTeotl

1
Bài viết mà @vrunoa đề cập đến bây giờ là một liên kết chết. Bài viết này rất hữu ích: stackoverflow.com/questions/16427421/
Kẻ

2
Tôi muốn xóa một khung được cài đặt bởi pod mà không cập nhật hoặc cài đặt podfile
Anand Prakash


5

Không ai trong số này làm việc cho tôi. Tôi có pod phiên bản 1.5.3 và phương pháp đúng là loại bỏ các pod không còn cần thiết khỏi Podfile và sau đó chạy:

pod update

Điều này cập nhật tệp Podfile.lock của bạn khỏi Podfile, xóa các thư viện đã bị xóa và cập nhật tất cả các thư viện của bạn.


1
Bạn không cần cập nhật tất cả các thư viện trong dự án của mình (một thứ có thể rất nguy hiểm) chỉ để xóa thư viện. Có nhiều cách tốt hơn trong chuỗi này bao gồm loại bỏ pod khỏi tệp podfile của bạn và sau đó chạypod install
Braden Holt

Điều này cập nhật tất cả các phiên bản của thư viện của bạn và tự nhiên loại bỏ phiên bản không còn tồn tại trong Podfile, nhưng bạn có thực sự muốn cập nhật các thư viện không? Loại bỏ các pod và pod installlà cách chính xác.
Karim Mortabit

1
  1. Xóa tên nhóm (cần xóa) khỏi Podfile và sau đó
  2. Mở Terminal, đặt đường dẫn thư mục dự án
  3. Chạy cài đặt pod - không tích hợp

1
Tôi đang gặp lỗi này:[!] Unknown option: '--no-integrate'
neoneye

-1

Xóa tên nhóm từ Podfileđó Mở Terminal, đặt đường dẫn thư mục dự án và pod updatelệnh Run .

LƯU Ý: pod updatesẽ cập nhật tất cả các thư viện lên phiên bản mới nhất và cũng sẽ xóa các thư viện có tên đã bị xóa khỏi podfile.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.