Який правильний спосіб видалити 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, тому якщо у вас є проблеми, будь ласка, надсилайте їх у нашому трекері випусків щоб ми могли придумати спосіб їх вирішення!
EDIT
Як показав Джек Ву в коментарях, є плагін третьої сторони CocoaPods, який може автоматизувати ці кроки для вас. Його можна знайти тут . Зауважте, що це плагін третьої сторони, і він не завжди може оновлюватися, коли є CocoaPods. Також зауважте, що його склав основний член команди CocoaPods, щоб ця проблема не була проблемою.
pod deintegrate
і pod clean
є дві призначені команди для видалення CocoaPod з вашого проекту / репо.
Ось повний набір команд:
$ 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-дезінтегрувати плагін
Скористайтеся цією командою на своєму терміналі, щоб встановити її.
sudo gem install cocoapods-deintegrate
Cocaapods-Clean плагін
Скористайтеся цією командою на своєму терміналі, щоб встановити її.
sudo gem install cocoapods-clean
Використання
Перш за все, зайдіть у папку свого проекту, використовуючи звичайну команду, наприклад ..
cd (path of the project) //Remove the braces after cd
Тепер використовуйте ці два плагіни, щоб повністю їх видалити наступним чином.
Cocoapods-дезінтегрувати плагін
Скористайтеся цією командою на своєму терміналі, щоб спочатку дезінтегрувати стручки від вашого проекту.
pod deintegrate
Cocaapods-Clean плагін
Після деінтеграції стручка від вашого проекту використовуйте цю наступну команду на своєму терміналі, щоб повністю очистити його.
pod clean
Після виконання вищезазначених завдань має бути ще файл, що залишився у вашому каталозі проектів. Просто видаліть його вручну або скористайтеся цією командою на терміналі ..
rm Podfile
Ось це ... Тепер у вас проект без вітру ... очищений.
Видалення Cocoapods із системи.
Будь-яким способом спробуйте скористатися наступною командою на своєму терміналі для видалення / видалення кока-стручків із вашої системи.
sudo gem uninstall cocoapods
Це видалить кока-стручки автоматично.
Дякую. Сподіваюся, що це допомогло.
Я думаю, що є більш простий спосіб зробити це.
Як редагується прийнятою відповіддю, тепер ви можете використовувати плагін сторонніх плагінів cocoapods-deintegrate , це надійно, оскільки його створив член основної команди CocoaPods.
Але, залишаються файли:
Podfile
Podfile.lock
Workspace
Ви можете видалити їх зі свого проекту вручну ,, але є ще один інструмент, який допоможе вам очистити їх, завдяки cocoapods-clean .
Нарешті, робота з видалення все ще не завершена, cocoapods-clean
не чистіть Podfile
, просто запустіть:
rm Podfile
Ура!
Перед тим як видалити, переконайтесь, що у вас є резервна копія вашого проекту!
pod deintegrate
Після цього cmd у вашому проекті не залишилося жодних слідів від какаоподів.
Але ваше робоче середовище, на яке посилається проект Pods, все ще залишається, вам потрібно видалити нижче 3 файлів вручну:
xx.xcworkspace
Podifle
Podfile.lock
Потім ви можете знову використовувати свій проект.
Веселіться!
Тестова версія CocoaPod = 1.2.0
Я спробував усі ці відповіді, але все одно не склався, зрештою я спробував:
pod deintegrate
pod install
яка насправді працювала!
Начебто потрібно видалити всі сценарії струбків із фаз збирання та знову додати їх, щоб він працював, принаймні в моєму випадку.
Відповідь Кіта чудова - я просто хочу зазначити, що оскільки Cocoapods 0.36 починає підтримувати динамічні рамки , якщо ви використовуєте "use_frameworks!" у своєму "Podfile", і ви хочете видалити Cocoapods, ви повинні зробити це:
Build Phases
видалення Embed Pods Frameworks
.Pods
внутрішньою стороною, Build Phases
видаліть їх також.
Розробник може зіткнутися з двома аспектами.
У першому випадку вам потрібно скористатися "дезінтеграцією" і виконати декілька кроків, зазначених у відповідях вище.
У другому випадку, якщо ви хочете видалити будь-яку конкретну рамку, встановлену там, дуже простий спосіб, доступний у вашому файлі pod, просто прокоментуйте рамку, яку ви хочете видалити та запустити команду встановлення pod.
# 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
Тут я хочу видалити фейсбук і рамки розбору (які були встановлені за допомогою стручків), а не iCarousel, тому я оновив свій файл файлу, як вище.
Тепер, якщо я запускаю pod install, він збереже iCarousel таким, який є у моєму проекті, і видалить facebook та розбір.
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. видалені отримані дані.
якщо ви не знаєте, як видалити отримані дані, перейдіть сюди
Видаліть усі пов'язані файли стручка:
та в Навігаторі проектів:
Клацніть на назві проекту (синій значок) -> Цілі (*) -> Фази збірки -> Видалити "[CP] Перевірте маніфести. Блоків" (натисніть на "x")
(*) Клацніть назву проекту, можливо, вам доведеться натиснути «Показати список проектів та цілі», щоб спочатку побачити бічну панель.
Я напишу те, що зробив iv дуже коротко (щоб видалити будь-які CocoaPods з мого проекту) ..
Щоб видалити посилання на фреймворк з xcode:
podfile
ім’я з.plist
Якщо ви просто хочете видалити один стручок і зберегти інші, які ви, можливо, встановили, відкрийте підфільм у своєму каталозі додатків та видаліть той, який ви хочете видалити. Потім перейдіть до каталогу додатків за допомогою терміналу та введіть:
pod update
Це видалить поділ, який ви видалили з підфайлу. Ви побачите, що його видалено в терміналі:
Analyzing dependencies
Removing FirebaseUI
Removing UICircularProgressRing
Зауважте, що цей метод також буде виводити будь-які оновлення до інших стручок у вашому підфілі. Ви можете або не хочете цього.
pod install
для додавання / видалення стручків. Це спеціально для уникнення оновлення, як ви сказали тут. Ви можете прочитати більше про їхні "Посібники" на цю саму тему ... guides.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
Я не думаю, що вам більше не потрібно деінтегрувати. Я зміг це зробити за допомогою наступної команди в терміналі:
встановити стручок
і він автоматично видалив ті, яких більше немає в підфілі