Удалить или удалить ранее добавленную библиотеку: cocoapods


320

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

Ответы:


317

Поскольку побочные эффекты принятого ответа были удалены сценарием, написанным Кайлом Фуллером ( delegrate) , я опубликую надлежащий рабочий процесс здесь:

  1. Установите чистый:

    $ sudo gem install cocoapods-clean
  2. Запустите deintegrate в папке проекта:

    $ pod deintegrate

  3. Чистота:

    $ pod clean

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

    $ pod install

Готово.


2
Этот пакет должен быть принятым ответом, потому что он гораздо более тщательный. Хотя, прежде чем следовать этому рабочему процессу, я бы предложил очистить содержимое каталога Derived Data проекта и убедиться, что изменения проекта зафиксированы в существующем хранилище кода. Наконец, после запуска pod installя открыл файл Xcode xcworkspace, выполнил полную очистку папки сборки (alt + shift + command + 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
да ... я думаю, стручков больше нет.
Зин Вин Хетт

455

Удалите lib из Podfile, затем pod installснова.


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

8
Найдите файл pods в Finder, затем удалите каждый из отдельных pods (вы заметите, что в них отсутствуют файлы .h и .m). Потом pod update. Это сработало для меня.
AMayes

9
Вы также получаете предупреждения, которые @MattMombrea упоминает, если вы успешно удалили подфайлы, но не зафиксировали изменение. Убедитесь, что все хранится в хранилище кода.
HughHughTeotl

1
Статья, которую упоминает @vrunoa, теперь является мертвой ссылкой. Эта статья полезна: stackoverflow.com/questions/16427421/…
Лейн Реттиг

2
Я хочу удалить фреймворк, установленный pod, без обновления или установки подфайла
Anand Prakash

25
  1. Удалить библиотеку из вашего подфайла

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


5

Ничто из этого не помогло мне. У меня есть версия pod 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обновит все библиотеки до последней версии, а также удалит те библиотеки, чье имя было удалено из подфайла.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.