Bir projeden CocoaPod'ları kaldırmanın doğru yolu nedir? Tüm CocoaPod'u kaldırmak istiyorum. Müşterim tarafından getirilen bazı sınırlamalar nedeniyle kullanamıyorum. Bir xcworkspace yerine sadece bir xcodeproj olması gerekir.
pod deintegrate
Bir projeden CocoaPod'ları kaldırmanın doğru yolu nedir? Tüm CocoaPod'u kaldırmak istiyorum. Müşterim tarafından getirilen bazı sınırlamalar nedeniyle kullanamıyorum. Bir xcworkspace yerine sadece bir xcodeproj olması gerekir.
pod deintegrate
Yanıtlar:
Bir projeden CocoaPod'ları kaldırmak mümkündür, ancak şu anda CLI tarafından otomatikleştirilmemektedir. İlk şey, sahip olduğunuz tek sorun bir kullanmak mümkün xcworkspace
değilse, sadece bir çalışma alanı değil üretecek bayrağı xcodeproj
kullanarak CocoaPods sadece s ile kullanabilirsiniz . Ardından bunu ana projenize bir alt proje olarak ekleyebilirsiniz .--no-integrate
Pods.xcodeproj
xcodeproj
xcodeproj
Tüm CocoaPods entegrasyonunu gerçekten kaldırmak istiyorsanız, birkaç şey yapmanız gerekir:
NOT Yanlış yapılması durumunda bu şeylerin bazılarını düzenlemek ana projenizi bozabilir. Her ihtimale karşı projelerinizi kaynak kontrolüne almanızı şiddetle tavsiye ediyorum. Ayrıca bu talimatlar CocoaPods sürümü içindir 0.39.0
, yeni sürümlerle değişebilirler.
Podfile
Podfile.lock
ve Pods
dizininizi) silinxcworkspace
xcodeproj
Dosyanızı açın, Pods.xcconfig
ve libPods.a
( Frameworks
gruptaki) referanslarını silinBuild Phases
silin .Copy Pods Resources
Embed Pods Frameworks
Check Pods Manifest.lock
Bu adımlardan sonra, xcodeproj
CocoaPod'ları entegre etmeden önce var olan bir taneyle ayarlanmalıdır. Eğer bir şeyi kaçırırsam bana haber ver, ben de bunu düzenleyeceğim.
Ayrıca her zaman CocoaPod'ların nasıl geliştirileceğine dair öneriler arıyoruz, bu yüzden bir sorununuz varsa lütfen bunları sorun izleyicimize gönderin, böylece bunları düzeltmenin bir yolunu bulabiliriz!
DÜZENLE
Jack Wu'nun yorumlarda gösterildiği gibi , bu adımları sizin için otomatikleştirebilecek bir üçüncü taraf CocoaPods eklentisi var. Bu bulunabilir burada . Üçüncü taraf bir eklenti olduğunu ve CocoaPods olduğunda her zaman güncellenmeyebileceğini unutmayın. Ayrıca bir CocoaPods çekirdek ekip üyesi tarafından yapıldığını, böylece sorunun bir sorun olmayacağını unutmayın.
pod deintegrate
ve pod clean
projenizden / repodan CocoaPod'u kaldırmak için iki atanmış komut vardır.
Komutların tamamı şunlardır:
$ sudo gem install cocoapods-deintegrate cocoapods-clean
$ pod deintegrate
$ pod cache clean --all
$ rm Podfile
Orijinal çözüm burada bulundu: https://medium.com/@icanhazedit/remove-uninstall-deintegrate-cocoapods-from-your-xcode-ios-project-c4621cee5e42#.wd00fj2e5
CocoaPod belgeleri pod deintegrate
: https://guides.cocoapods.org/terminal/commands.html#pod_deintegrate
Bir projeden kapsülleri tamamen kaldırmak için önce iki şey yüklemeniz gerekir ... bunlar şunlardır (Sisteminizde zaten kakao kapsülleri yüklü olduğu varsayılarak.) ...
Kurulum
Cocoapods-Deintegrate Eklentisi
Yüklemek için terminalinizde aşağıdaki komutu kullanın.
sudo gem install cocoapods-deintegrate
Cocoapods-Clean Eklentisi
Yüklemek için terminalinizde aşağıdaki komutu kullanın.
sudo gem install cocoapods-clean
kullanım
Öncelikle her zamanki gibi komutunu kullanarak proje klasörünüze gidin ..
cd (path of the project) //Remove the braces after cd
Şimdi bu iki eklentiyi tamamen kaldırmak için kullanın.
Cocoapods-Deintegrate Eklentisi
İlk önce bölmeleri projenizden ayrıştırmak için terminalinizdeki şu komutu kullanın.
pod deintegrate
Cocoapods-Clean Eklentisi
Kapsülün projenizden ayrılmasından sonra, terminalinizi tamamen temizlemek için aşağıdaki komutu kullanın.
pod clean
Yukarıdaki görevleri tamamladıktan sonra proje dizininizde hala Podfile kalmalıdır .. Bunu manuel olarak silmeniz veya terminalde şu komutu kullanmanız yeterlidir.
rm Podfile
İşte bu ... Şimdi projenizde bakla bulunmuyor ... Temizlendi.
Cocoapod'ların sistemden çıkarılması.
Herhangi bir şekilde coca-pod'ları sisteminizden kaldırmak / kaldırmak için terminalinizde aşağıdaki komutu kullanmaya çalışın.
sudo gem uninstall cocoapods
Koka kapsüllerini otomatik olarak kaldıracaktır.
Teşekkürler. Umarım bu yardımcı olmuştur.
Bence bunu yapmanın daha kolay bir yolu var.
Kabul edilen cevap tarafından düzenlendiği gibi, şimdi bir üçüncü taraf eklenti cocoapods-deintegrate kullanabilirsiniz , güvenilirdir çünkü bir CocoaPods çekirdek ekip üyesi tarafından yapılmıştır.
Ancak, hala bazı dosyalar var:
Podfile
Podfile.lock
Workspace
Bunları projenizden elle kaldırabilirsiniz , ancak cocoapods-clean sayesinde onları temizlemenize yardımcı olacak başka bir araç daha var .
Son olarak, kaldırma işi hala tamamlanmadı, cocoapods-clean
temizlemeyin Podfile
, sadece çalıştırın:
rm Podfile
Şerefe!
Kaldırmadan önce projenizin bir yedeğine sahip olduğunuzdan emin olmalısınız!
pod deintegrate
Bu cmd'den sonra, projenizde hiçbir Cocoapod izi kalmadı.
Ancak, Pods projesine referans veren çalışma alanınız hala devam ediyor, aşağıdaki 3 dosyayı elle kaldırmanız gerekiyor:
xx.xcworkspace
Podifle
Podfile.lock
Ardından projenizi tekrar kullanabilirsiniz.
İyi eğlenceler!
Test CocoaPod sürümü = 1.2.0
Tüm bu cevapları denedim ama yine de inşa etmeyeceğim, sonunda denedim:
pod deintegrate
pod install
hangi gerçekten çalıştı!
En azından benim durumumda, tüm pod komut dosyalarını derleme aşamalarınızdan kaldırmanız ve çalışması için tekrar eklemeniz gerekiyor gibi.
Keith'in cevabı harika - Sadece şunu belirtmek istiyorum: Cocoapods 0.36 , 'use_frameworks!' Kullanıyorsanız, Dinamik Çerçeveleri desteklemeye başladı! Podfile'ınızda ve Cocoapod'ları kaldırmak istiyorsanız, bunu yapmanız gerekir:
Build Phases
Silme Embed Pods Frameworks
aşaması altında .Pods
İçinde uğraşan başka dosyalar da varsa Build Phases
silin.
Geliştiricinin karşılaşabileceği iki yön olabilir.
İlk durumda 'pod deintegrate'i kullanmanız ve yukarıdaki cevaplarda belirtilen birkaç adımı izlemeniz gerekir.
İkinci durumda, yüklü herhangi bir çerçeveyi kaldırmak istiyorsanız, pod dosyanızda çok basit bir yol var, sadece pod install komutunu kaldırmak ve çalıştırmak istediğiniz çerçeveyi yorumlayın.
# 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
Burada iCarousel değil, facebook ve ayrıştırma çerçevelerini (bölmeler kullanılarak yüklendi) kaldırmak istiyorum, bu yüzden pod dosyamı yukarıdaki gibi güncelledim.
Eğer pod install çalıştırırsam, iCarousel'i projemde olduğu gibi tutacak ve facebook ve ayrıştırmayı kaldıracak.
Podfile
, Podfile.lock
, Pods
klasör ve oluşturulan çalışma alanı..xcodeproj
yapılan referansları kaldırın .Pods.xcconfig
libPods.a
Pods.framework
.Yapmak isteyebileceğiniz tek şey, daha önce kullandığınız kütüphanelerin bazılarını içermektir. Bunu, kapsül klasörlerindeki klasörleri projenize sürükleyerek yapabilirsiniz (Destek Dosyalarım klasörüne koymayı tercih ederim).
Benim için çalıştı.
$ sudo gem install cocoapods-deintegrate cocoapods-clean
$ pod deintegrate
$ pod clean
$ rm Podfile
gem uninstall cocoapods-deintegrate cocoapods-clean
Çalışmazsa,
1. projeyi temizlemeyi deneyin .
2. türetilmiş veri silindi.
türetilmiş verileri nasıl sileceğinizi bilmiyorsanız buraya gidin
İlgili tüm pod dosyalarını silin:
ve Proje Gezgini'nde:
Proje adını tıklayın (mavi simge) -> Hedefler (*) -> Aşama Oluşturma -> Kaldır "[CP] Kontrol Bölmeleri manifests.lock" ("x" üzerine tıklayın)
(*) Proje adını tıklayın, önce kenar çubuğunu görmek için "Proje ve hedef listesini göster" seçeneğini tıklamanız gerekebilir.
Ben iv çok kısaca ne yazacağım (herhangi bir CocoaPods benim projeden silmek için) ..
Çerçeve başvurusunu xcode'dan kaldırmak için:
podfile
Adı alan adından kaldır.plist
Yalnızca bir bölmeyi kaldırmak ve kurmuş olabileceğiniz diğerlerini tutmak istiyorsanız, bölme dosyasını uygulama dizininizde açın ve kaldırmak istediğinizi silin. Ardından terminal kullanarak uygulama dizininize gidin ve şunu yazın:
pod update
Bu işlem, pod dosyasından kaldırdığınız kapsülü kaldıracaktır. Terminalde kaldırıldığını göreceksiniz:
Analyzing dependencies
Removing FirebaseUI
Removing UICircularProgressRing
Bu yöntemin, pod dosyanızdaki diğer kapsüllerdeki güncellemeleri de alacağını unutmayın. Bunu isteyebilir veya istemeyebilirsiniz.
pod install
kapsül eklemek / çıkarmak için kullanmalısınız . Bu, özellikle burada söylediğin gibi güncellemeyi önlemek içindir. Bu konuyla ilgili 'Rehberleri' hakkında daha fazla bilgi edinebilirsiniz
Bu Terminal'in komutlarını kullanın (Yeni satırların başında sudo kullanmayı unutmayın):
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)
Listeyi aşağıdaki gibi tek tek kaldırın:
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
Artık parçalanman gerektiğini sanmıyorum. Terminalde aşağıdaki komutla bunu yapabildim:
pod kurulum
ve artık pod dosyasında olmayanları otomatik olarak kaldırdı