วิธีที่ถูกต้องในการลบ CocoaPods ออกจากโครงการคืออะไร ฉันต้องการลบ CocoaPod ทั้งหมด เนื่องจากข้อ จำกัด บางประการที่กำหนดโดยลูกค้าของฉันฉันไม่สามารถใช้งานได้ ฉันต้องการ xcodeproj เพียงอันเดียวแทนที่จะเป็น xcworkspace
pod deintegrate
วิธีที่ถูกต้องในการลบ CocoaPods ออกจากโครงการคืออะไร ฉันต้องการลบ CocoaPod ทั้งหมด เนื่องจากข้อ จำกัด บางประการที่กำหนดโดยลูกค้าของฉันฉันไม่สามารถใช้งานได้ ฉันต้องการ xcodeproj เพียงอันเดียวแทนที่จะเป็น xcworkspace
pod deintegrate
คำตอบ:
การลบ CocoaPods จากโครงการเป็นไปได้ แต่ในปัจจุบันยังไม่สามารถดำเนินการอัตโนมัติโดย CLI สิ่งแรกถ้าปัญหาเดียวที่คุณมีคือไม่สามารถที่จะใช้xcworkspace
คุณสามารถใช้ CocoaPods มีเพียงxcodeproj
s โดยใช้--no-integrate
ธงซึ่งจะผลิตPods.xcodeproj
แต่ไม่พื้นที่ทำงาน จากนั้นคุณสามารถเพิ่มนี้เป็นโครงการย่อยเพื่อหลักของคุณxcodeproj
xcodeproj
หากคุณต้องการลบการรวม CocoaPods ทั้งหมดคุณต้องทำบางสิ่ง:
หมายเหตุการแก้ไขสิ่งเหล่านี้หากทำไม่ถูกต้องอาจทำให้โครงการหลักของคุณเสียหาย ฉันขอแนะนำให้คุณตรวจสอบโครงการของคุณในการควบคุมแหล่งที่มาในกรณีที่ ด้วยคำแนะนำเหล่านี้สำหรับรุ่น CocoaPods 0.39.0
พวกเขาสามารถเปลี่ยนเป็นเวอร์ชันใหม่ได้
Podfile
Podfile.lock
และPods
ไดเรกทอรีของคุณ)xcworkspace
xcodeproj
ไฟล์ของคุณลบการอ้างอิงถึงPods.xcconfig
และlibPods.a
(ในFrameworks
กลุ่ม)Build Phases
ลบCopy Pods Resources
, Embed Pods Frameworks
และCheck Pods Manifest.lock
เฟสของคุณหลังจากขั้นตอนเหล่านั้นคุณควรตั้งค่าด้วยสิ่งเดียวxcodeproj
ที่มีอยู่ก่อนที่คุณจะรวม CocoaPods หากฉันไม่ได้รับอะไรแจ้งให้ฉันทราบและฉันจะแก้ไข
นอกจากนี้เรามักจะมองหาคำแนะนำสำหรับวิธีการปรับปรุง CocoaPods ดังนั้นหากคุณมีปัญหาโปรดส่งพวกเขาในตัวติดตามปัญหาของเราเพื่อให้เราสามารถหาวิธีแก้ไขได้!
แก้ไข
ในฐานะที่แสดงโดยแจ็ควูในความคิดเห็นที่มี CocoaPods บุคคลที่สามปลั๊กอินที่สามารถทำให้ขั้นตอนเหล่านี้สำหรับคุณ มันสามารถพบได้ที่นี่ โปรดทราบว่ามันเป็นปลั๊กอินของบุคคลที่สามและอาจไม่ได้รับการอัปเดตเสมอเมื่อ CocoaPods เป็น นอกจากนี้โปรดทราบว่ามันถูกสร้างขึ้นโดยสมาชิกในทีมหลักของ CocoaPods ดังนั้นปัญหาจะไม่เป็นปัญหา
pod deintegrate
และpod clean
เป็นคำสั่งที่กำหนดสองคำสั่งเพื่อลบ CocoaPod จากโครงการ / repo ของคุณ
นี่คือชุดคำสั่งที่สมบูรณ์:
$ sudo gem install cocoapods-deintegrate cocoapods-clean
$ pod deintegrate
$ pod cache clean --all
$ rm Podfile
พบโซลูชันต้นฉบับที่นี่: https://medium.com/@icanhazedit/remove-uninstall-deintegrate-cocoapods-from-your-xcode-ios-project-c4621cee5e42#.wd00fj2e5
เอกสาร CocoaPod เมื่อpod deintegrate
: https://guides.cocoapods.org/terminal/commands.html#pod_deintegrate
ในการลบพ็อดออกจากโปรเจ็กต์โดยสมบูรณ์คุณต้องติดตั้งสองสิ่งก่อน ... สิ่งเหล่านี้มีดังนี้ (สมมติว่าคุณติดตั้งโกโก้แล้วในระบบของคุณ)
การติดตั้ง
ปลั๊กอิน Cocoapods-Deintegrate
ใช้คำสั่งต่อไปนี้ในสถานีของคุณเพื่อติดตั้ง
sudo gem install cocoapods-deintegrate
ปลั๊กอิน Cocoapods-Clean
ใช้คำสั่งต่อไปนี้ในสถานีของคุณเพื่อติดตั้ง
sudo gem install cocoapods-clean
การใช้
ก่อนอื่นให้ไปที่โฟลเดอร์โครงการของคุณโดยใช้คำสั่งตามปกติเช่น ..
cd (path of the project) //Remove the braces after cd
ตอนนี้ใช้ปลั๊กอินสองตัวนี้เพื่อลบอย่างสมบูรณ์ดังนี้ ..
ปลั๊กอิน Cocoapods-Deintegrate
ใช้คำสั่งต่อไปนี้บนเทอร์มินัลของคุณเพื่อยกเลิกการพ็อดจากโครงการของคุณก่อน
pod deintegrate
ปลั๊กอิน Cocoapods-Clean
หลังจากการสลายตัวของพ็อดจากโครงการของคุณใช้คำสั่งต่อไปนี้บนเทอร์มินัลของคุณเพื่อทำความสะอาดอย่างสมบูรณ์
pod clean
หลังจากทำภารกิจข้างต้นเสร็จแล้วควรมี Podfile ที่เหลืออยู่ในไดเรกทอรีโครงการของคุณเพียงแค่ลบไฟล์นั้นด้วยตนเองหรือใช้คำสั่งต่อไปนี้บนเทอร์มินัล ..
rm Podfile
นั่นคือ ... ตอนนี้คุณมีโปรเจกต์ของคุณฟรีจากพ็อด ... ทำความสะอาดแล้ว
การลบ Cocoapods ออกจากระบบ
พยายามใช้คำสั่งต่อไปนี้บนเทอร์มินัลเพื่อถอนการติดตั้ง / ลบ coca-pods ออกจากระบบของคุณ
sudo gem uninstall cocoapods
มันจะลบ coca-pods โดยอัตโนมัติ
ขอบคุณ หวังว่านี่จะช่วยได้
ฉันคิดว่ามีวิธีที่ง่ายกว่าในการทำเช่นนั้น
แก้ไขโดยคำตอบที่ยอมรับตอนนี้คุณสามารถใช้ปลั๊กอินcocoapods-deintegrateของบุคคลที่สามได้อย่างน่าเชื่อถือเพราะมันทำโดยสมาชิกหลักของ CocoaPods
แต่ยังคงมีบางไฟล์อยู่:
Podfile
Podfile.lock
Workspace
คุณสามารถลบออกจากตนเองโครงการของคุณ แต่ยังมีเครื่องมือสำหรับการช่วยให้คุณทำความสะอาดพวกเขาอีกขอบคุณcocoapods ทำความสะอาด
ในที่สุดงานถอนการติดตั้งยังไม่เสร็จสมบูรณ์cocoapods-clean
ไม่ต้องล้างPodfile
เพียงแค่เรียกใช้:
rm Podfile
ไชโย!
ก่อนที่จะลบคุณควรตรวจสอบให้แน่ใจว่าคุณมีข้อมูลสำรองของโครงการของคุณ!
pod deintegrate
หลังจาก cmd นี้ไม่มีร่องรอยของ Cocoapods เหลืออยู่ในโครงการของคุณ
แต่พื้นที่ทำงานของคุณที่อ้างอิงโครงการ Pod ยังคงอยู่คุณต้องลบไฟล์ด้านล่างด้วยตนเอง 3 ไฟล์:
xx.xcworkspace
Podifle
Podfile.lock
จากนั้นคุณสามารถใช้โครงการของคุณอีกครั้ง
มีความสุข!
ทดสอบ CocoaPod เวอร์ชั่น = 1.2.0
ฉันลองคำตอบทั้งหมด แต่ก็ยังไม่สร้างในที่สุดฉันก็ลอง:
pod deintegrate
pod install
ซึ่งใช้งานได้จริง!
มันต้องการที่จะลบสคริปต์ pod ทั้งหมดออกจากขั้นตอนการสร้างของคุณและเพิ่มกลับเข้าไปใหม่เพื่อให้ทำงานได้อย่างน้อยในกรณีของฉัน
คำตอบของ Keith นั้นยอดเยี่ยม - ฉันแค่ต้องการชี้ให้เห็นว่าเนื่องจากCocoapods 0.36เริ่มสนับสนุนDynamic Frameworksหากคุณใช้ 'use_frameworks!' ใน 'Podfile' ของคุณและคุณต้องการลบ Cocoapods คุณต้องทำสิ่งนี้:
Build Phases
ลบEmbed Pods Frameworks
Pods
ด้านในของการBuild Phases
ลบพวกเขาด้วย
อาจมีสองด้านที่นักพัฒนาอาจเผชิญ
ในกรณีแรกคุณต้องใช้ 'pod deintegrate' และทำตามขั้นตอนต่าง ๆ ที่กล่าวถึงในคำตอบข้างต้น
สำหรับกรณีที่สองนั่นคือถ้าคุณต้องการถอนการติดตั้งเฟรมเวิร์กใด ๆ ที่ติดตั้งมีวิธีที่ง่ายมากในไฟล์พ็อดของคุณเพียงแค่คอมเมนต์เฟรมเวิร์กที่คุณต้องการถอนการติดตั้งและรันคำสั่ง pod install
# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'
target 'ProjectName' do
# Uncomment this line if you're using Swift or would like to use dynamic frameworks
# use_frameworks!
pod 'iCarousel', '~> 1.8'
# pod 'Facebook-iOS-SDK', '~> 4.1'
# pod 'ParseFacebookUtilsV4', '~> 1.11'
# pod 'Parse', '~> 1.14'
end
ที่นี่ฉันต้องการถอนการติดตั้ง facebook และกรอบการแยกวิเคราะห์ (ซึ่งติดตั้งโดยใช้พ็อด) และไม่ใช่ iCarousel นั่นคือสาเหตุที่ฉันได้อัปเดตไฟล์พ็อดของฉันเหมือนด้านบน
ตอนนี้ถ้าฉันเรียกใช้พ็อดติดตั้งมันจะเก็บ iCarousel ไว้ในโปรเจคและจะลบเฟสบุ๊คและแยกออก
Podfile
, Podfile.lock
การPods
โฟลเดอร์และพื้นที่ทำงานที่สร้าง.xcodeproj
ลบการอ้างอิงไปยังPods.xcconfig
ไฟล์และlibPods.a
ไฟล์Pods.framework
ลบสิ่งเดียวที่คุณอาจต้องการทำคือมีห้องสมุดบางส่วนที่คุณเคยใช้มาก่อน คุณสามารถทำได้โดยการเจาะโฟลเดอร์ใด ๆ ก็ตามที่อยู่ในโฟลเดอร์พ็อดลงในโครงการของคุณ
มันใช้งานได้สำหรับฉัน
$ sudo gem install cocoapods-deintegrate cocoapods-clean
$ pod deintegrate
$ pod clean
$ rm Podfile
gem uninstall cocoapods-deintegrate cocoapods-clean
หากไม่ได้ผลให้ลอง
1. ทำความสะอาดโครงการ
2. ลบข้อมูลที่ได้รับ
หากคุณไม่ทราบวิธีการลบข้อมูลที่ได้รับมาที่นี่
ลบไฟล์พ็อดที่เกี่ยวข้องทั้งหมด:
และใน Project Navigator:
คลิกที่ชื่อโครงการ (ไอคอนสีน้ำเงิน) -> เป้าหมาย (*) -> Build Phases -> ลบ "[CP] Check Pods manifests.lock" (คลิกที่ "x")
(*) คลิกที่ชื่อโครงการคุณอาจต้องคลิกที่ "แสดงโครงการและรายการเป้าหมาย" เพื่อดูแถบด้านข้างก่อน
ฉันจะเขียนสิ่งที่ฉันทำในเวลาสั้น ๆ (เพื่อลบ CocoaPods ใด ๆ จากโครงการของฉัน) ..
ในการลบกรอบอ้างอิงออกจาก xcode:
podfile
ชื่อออกจาก.plist
หากคุณเพียงแค่ต้องการลบหนึ่ง pod และเก็บไว้ที่อื่นที่คุณอาจติดตั้งไว้ให้เปิด podfile ในไดเรกทอรีแอพของคุณและลบอันที่คุณต้องการลบออก จากนั้นไปที่ไดเรกทอรีแอปของคุณโดยใช้เทอร์มินัลแล้วพิมพ์:
pod update
นี่จะเป็นการลบพ็อดที่คุณลบออกจากพ็อดไฟล์ คุณจะเห็นว่ามีการลบออกใน terminal:
Analyzing dependencies
Removing FirebaseUI
Removing UICircularProgressRing
โปรดทราบว่าวิธีนี้จะดึงการอัปเดตไปยังพ็อดอื่น ๆ ในพ็อดไฟล์ของคุณด้วย คุณอาจจะหรืออาจไม่ต้องการที่
pod install
สำหรับการเพิ่ม / ลบพ็อด นี่เป็นการเฉพาะเพื่อหลีกเลี่ยงการอัพเดตอย่างที่คุณพูดไว้ที่นี่ คุณสามารถอ่านเพิ่มเติมเกี่ยวกับ 'คำแนะนำ' ของพวกเขาได้ในหัวข้อนี้ ... guide.cocoapods.org/using/pod-install-vs-update.html
ใช้คำสั่งของเทอร์มินัลเหล่านี้ (อย่าลืมใช้ sudo ที่จุดเริ่มต้นของบรรทัดใหม่):
open:YourDir YouName$ sudo gem uninstall cocoapods
Password:?
Remove executables:
pod, sandbox-pod
in addition to the gem? [Yn] Y
Removing pod
Removing sandbox-pod
Successfully uninstalled cocoapods-1.4.0
open:YourDir YourName$ gem list --local | grep cocoapods
cocoapods-core (1.4.0)
cocoapods-deintegrate (1.0.2)
cocoapods-downloader (1.1.3)
cocoapods-plugins (1.0.0)
cocoapods-search (1.0.0)
cocoapods-stats (1.0.0)
cocoapods-trunk (1.3.0)
cocoapods-try (1.1.0)
ถอนการติดตั้งรายการหนึ่งต่อหนึ่งดังนี้:
open:YourDir YourName$ sudo gem uninstall cocoapods-core
Successfully uninstalled cocoapods-core-1.4.0
open:YourDir YourName$ sudo gem uninstall cocoapods-trunk
Successfully uninstalled cocoapods-trunk-1.3.0
open:YourDir YourName$ sudo gem uninstall cocoapods-try
Successfully uninstalled cocoapods-try-1.1.0
open:YourDir YourName$ gem list --local | grep cocoapods
open:YourDir YourName$ sudo gem uninstall cocoapods-stats
Successfully uninstalled cocoapods-stats-1.0.0
open:YourDir YourName$ sudo gem uninstall cocoapods-search
Successfully uninstalled cocoapods-search-1.0.0
open:YourDir YourName$ sudo gem uninstall cocoapods-downloader
Successfully uninstalled cocoapods-downloader-1.1.3
open:YourDir YourName$ sudo gem uninstall cocoapods-plugins
Successfully uninstalled cocoapods-plugins-1.0.0
open:YourDir YourName$ gem list --local | grep cocoapods
cocoapods-deintegrate (1.0.2)
open:YourDir YourName$ sudo gem uninstall cocoapods-deintegrate
Successfully uninstalled cocoapods-deintegrate-1.0.2
open:YourDir YourName$ sudo gem uninstall cocoapods-stats
Successfully uninstalled cocoapods-stats-1.0.0
open:YourDir YourName$ sudo gem uninstall cocoapods-search
Successfully uninstalled cocoapods-search-1.0.0
open:YourDir YourName$ sudo gem uninstall cocoapods-downloader
Successfully uninstalled cocoapods-downloader-1.1.3
open:YourDir YourName$ sudo gem uninstall cocoapods-plugins
Successfully uninstalled cocoapods-plugins-1.0.0
open:YourDir YourName$ gem list --local | grep cocoapods
cocoapods-deintegrate (1.0.2)
open:YourDir YourName$ sudo gem uninstall cocoapods-deintegrate
Successfully uninstalled cocoapods-deintegrate-1.0.2
ฉันสามารถลบพ็อดของฉันในโครงการโดยใช้แอป CocoaPods (เวอร์ชั่น 1.5.2) หลังจากนั้นฉันเพียงลบไฟล์ podfile, podfile.lock และ xcworkspace ในโฟลเดอร์
ฉันไม่คิดว่าคุณจะต้องสลายตัวอีกต่อไป ฉันสามารถทำได้ด้วยคำสั่งต่อไปนี้ใน terminal:
ฝักติดตั้ง
และจะลบไฟล์ที่ไม่ได้อยู่ใน podfile โดยอัตโนมัติ