ลบหรือถอนการติดตั้งไลบรารีที่เพิ่มไว้ก่อนหน้านี้: cocoapods


320

ฉันเพิ่มเฟรมเวิร์กภายนอกผ่าน cocoapods ลงในแอปพลิเคชัน iOS ของฉัน ฉันจะลบไลบรารีนั้นออกจากโครงการได้อย่างไร

คำตอบ:


317

เนื่องจากผลข้างเคียงของคำตอบที่ยอมรับถูกลบโดยสคริปต์ที่เขียนโดยKyle Fuller - deintegrateฉันจะโพสต์เวิร์กโฟลว์ที่เหมาะสมที่นี่:

  1. ติดตั้งใหม่ทั้งหมด:

    $ sudo gem install cocoapods-clean
  2. เรียกใช้ deintegrate ในโฟลเดอร์ของโครงการ:

    $ pod deintegrate

  3. สะอาด

    $ pod clean

  4. แก้ไข podfile ของคุณ (ลบบรรทัดด้วยพ็อดที่คุณไม่ต้องการใช้อีกต่อไป) และเรียกใช้:

    $ pod install

เสร็จสิ้น


2
พ็อดนี้ควรเป็นคำตอบที่ยอมรับได้เพราะมันละเอียดกว่านี้มาก แม้ว่าก่อนที่จะติดตามเวิร์กโฟลว์นี้ฉันขอแนะนำให้ล้างเนื้อหาของไดเรกทอรี Derived Data ของโครงการและตรวจสอบให้แน่ใจว่ายอมรับการเปลี่ยนแปลงของโครงการไปยังที่เก็บรหัสที่มีอยู่ ในที่สุดหลังจากทำงานpod installฉันเปิดไฟล์ Xcode xcworkspace ดำเนินการใหม่ทั้งหมดในโฟลเดอร์ build (alt + shift + command + K) และข้อผิดพลาดคำเตือน / ตัวเชื่อมโยงหายไป ถอนการติดตั้งพ็อดได้สำเร็จแล้วจากโครงการ
Mark Barrasso

หมายเหตุถึง @All: คำสั่งนี้cocoapods-cleanจะลบPodfileและ.xcworkspace
Suhaib

6
ดูเหมือนว่าตอนนี้pod deintegrateอย่างเป็นทางการ: guides.cocoapods.org/terminal/commands.html#pod_deintegratesudo gem install cocoapods-deintegrateไม่จำเป็นต้อง
ปัง

4
ฉันสองที่จาก @ZinWinHtet เมื่อฉันลองpod cleanฉัน:$ pod clean [!] Unknown command: clean
ScottyBlades

2
ใช่ ... การทำความสะอาดพ็อดไม่มีอีกต่อไปฉันคิดว่า
Zin Win Htet

455

ลบ lib ออกจาก Podfile จากนั้นpod installอีกครั้ง


9
เมื่อฉันทำเช่นนี้ฉันเหลือคำเตือนไว้หลายสิบคำใน XCode 5 ที่บ่นว่าเวิร์กสเปซไม่พบไฟล์ที่ถูกลบ ฉันพยายามล้างข้อมูลนี้ด้วยตนเอง แต่ไม่ประสบความสำเร็จ คุณจะลบพ็อดได้อย่างไร?
Matt Mombrea

8
ค้นหาไฟล์พ็อดใน Finder จากนั้นลบแต่ละพ็อดแต่ละอัน (คุณจะสังเกตเห็นว่าไฟล์. h และ. m หายไป) pod updateแล้วก็ ที่ทำงานให้ฉัน
AMayes

9
คุณจะได้รับคำเตือนที่ @MattMombrea กล่าวถึงหากคุณลบ podfiles สำเร็จ แต่ยังไม่ได้ยืนยันการเปลี่ยนแปลง ตรวจสอบให้แน่ใจว่าทุกอย่างมุ่งมั่นที่จะเก็บรหัส
HughHughTeotl

1
บทความที่ @vrunoa กล่าวถึงตอนนี้เป็นลิงก์ที่ตายแล้ว บทความนี้มีประโยชน์: stackoverflow.com/questions/16427421/…
Lane Rettig

2
ฉันต้องการลบเฟรมเวิร์กที่ติดตั้งโดยพ็อดโดยไม่ต้องอัปเดตหรือติดตั้ง podfile
Anand Prakash


5

สิ่งเหล่านี้ไม่ได้ผลสำหรับฉัน ฉันมีรุ่น pod 1.5.3 และวิธีการที่ถูกต้องคือการลบพ็อดที่ไม่ต้องการออกจาก Podfile แล้วรัน:

pod update

สิ่งนี้จะอัปเดตไฟล์ Podfile.lock ของคุณจาก Podfile ของคุณลบไลบรารีที่ถูกลบออกและอัปเดตไลบรารีทั้งหมดของคุณ


1
คุณไม่จำเป็นต้องอัปเดตไลบรารีทั้งหมดในโครงการของคุณ (สิ่งที่อาจเป็นอันตรายมาก) เพียงเพื่อลบไลบรารี มีวิธีที่ดีกว่ามากในเธรดนี้รวมถึงการลบพ็อดออกจาก Podfile ของคุณแล้วรันpod install
Braden Holt

นี่เป็นการอัปเดตไลบรารีทุกเวอร์ชันของคุณและจะลบไลบรารีที่ไม่ได้อยู่ใน Podfile ออกไปตามปกติ แต่คุณต้องการอัปเดตไลบรารีจริงๆหรือไม่ เอาฝักออกและpod installเป็นวิธีที่ถูกต้อง
Karim Mortabit

1
  1. ลบชื่อพ็อด (ซึ่งจะลบ) ออกจาก Podfile แล้ว
  2. เปิด Terminal ตั้งค่าเส้นทางโฟลเดอร์โครงการ
  3. เรียกใช้การติดตั้งพ็อด - ไม่รวมเข้าด้วยกัน

1
ฉันได้รับข้อผิดพลาดนี้:[!] Unknown option: '--no-integrate'
neoneye

-1

ลบชื่อพ็อดออกจากPodfileนั้นเปิดเทอร์มินัลตั้งค่าเส้นทางโฟลเดอร์โครงการและpod updateคำสั่งเรียกใช้

หมายเหตุ: pod updateจะอัปเดตไลบรารีทั้งหมดเป็นเวอร์ชันล่าสุดและจะลบไลบรารีเหล่านั้นที่มีชื่อถูกลบออกจาก podfile

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.