Видаліть або видаліть раніше додану бібліотеку: cocoapods


320

Я додав зовнішній фреймворк через cocoapods у свою програму iOS. Як я можу видалити цю бібліотеку з проекту?

Відповіді:


317

Оскільки побічні ефекти прийнятої відповіді були видалені сценарієм, написаним Кайлом Фуллером - дезінтеграція , я опублікую належний робочий процес тут:

  1. Встановити чисте:

    $ sudo gem install cocoapods-clean
  2. Запустіть деінтеграцію у папку проекту:

    $ pod deintegrate

  3. Чистота:

    $ pod clean

  4. Змініть підфайл (видаліть рядки з стручками, які ви більше не хочете використовувати) та запустіть:

    $ pod install

Зроблено.


2
Цей стручок повинен бути прийнятою відповіддю, оскільки він набагато ретельніший. Хоча, перш ніж дотримуватися цього робочого процесу, я б запропонував очистити вміст каталогу «Отримані дані проекту» та переконатись, що введено зміни проекту в існуючий сховище коду. Нарешті, після запуску pod installя відкрив файл Xcd xcworkspace, здійснив повне очищення в папці збірки (alt + shift + команда + K), і помилки попереджень / посилань не було. Підсилки зараз успішно видалено з проекту.
Марк Баррассо

Примітка до @All: Ця команда cocoapods-cleanвидаляє Podfileі.xcworkspace
Suhaib

6
Здається, зараз pod deintegrateє офіційним: guides.cocoapods.org/terminal/commands.html#pod_deintegrate Не потрібно sudo gem install cocoapods-deintegrate.
Панг

4
Я другий, що від @ZinWinHtet, коли я намагаюся pod cleanотримати:$ pod clean [!] Unknown command: clean
ScottyBlades

2
так ... я думаю, що струменів більше немає.
Zin Win Htet

455

Вийміть кришку з Podfile, потім pod installзнову.


9
Коли я це роблю, у XCode 5 мені залишаються десятки попереджень, які скаржаться, що робоча область не може знайти видалені файли. Я намагався очистити це вручну, але не мав успіху. Як можна чисто видалити стручок?
Метт Момбрея

8
Знайдіть файл стручків у Finder, а потім видаліть кожен із окремих стручків (ви помітите, що у них відсутні файли .h та .m). Потім pod update. Це працювало для мене.
AMayes

9
Ви також отримуєте попередження, що @MattMombrea згадує, якщо ви успішно видалили підфілі, але не ввели зміни. Переконайтеся, що все прив’язано до сховища коду.
HughHughTeotl

1
Стаття, яку згадує @vrunoa, тепер мертве посилання. Ця стаття корисна: stackoverflow.com/questions/16427421/…
Lane Rettig

2
Я хочу видалити рамку, встановлену pod, без оновлення або встановлення podfile
Ананд Пракаш

25
  1. Видаліть бібліотеку зі свого Podfile

  2. Запустити pod installна терміналі


5

Жоден із них не працював на мене. У мене версія версії 1.5.3 і правильним методом було видалення стручків, які більше не потрібні з Podfile, а потім запустіть:

pod update

Це оновлення файлу Podfile.lock зі свого Podfile, видалення видалених бібліотек та оновлення всіх ваших бібліотек.


1
Вам не потрібно оновлювати всі бібліотеки у вашому проекті (що може бути дуже небезпечно) лише для видалення бібліотеки. У цій темі є набагато кращі способи, включаючи видалення стручка зі свого підфайлу та його запускуpod install
Бреден Холт

Це оновлює всі версії ваших бібліотек і, природно, видаляє ту, яку більше немає у Podfile, але ви дійсно хочете оновити бібліотеки? Видалення стручка pod install- це правильний шлях.
Карім Мортабіт

1
  1. Видаліть назву стручка (яку потрібно видалити) із Podfile, а потім
  2. Відкрийте термінал, встановіть шлях до папки проекту
  3. Запустити pod install --no-integrate

1
Я отримую цю помилку:[!] Unknown option: '--no-integrate'
neoneye

-1

Видаліть ім'я стручка, Podfileа потім Відкрийте термінал, встановіть шлях до папки проекту та pod updateкоманду Запустити .

ПРИМІТКА: pod updateоновить усі бібліотеки до останньої версії, а також видалить ті бібліотеки, чиє ім’я було видалено з podfile.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.