Как удалить CocoaPods из проекта?

Какой правильный способ удаления CocoaPods из проекта? Я хочу удалить весь CocoaPod. Из-за некоторых ограничений, наложенных моим клиентом, я не могу его использовать. Мне нужно иметь только один xcodeproj вместо xcworkspace.

Ответ 1

Удаление CocoaPods из проекта возможно, но не в настоящее время автоматизировано CLI. Во-первых, если единственная проблема, с которой вы сталкиваетесь, не в состоянии использовать xcworkspace, вы можете использовать CocoaPods только с xcodeproj, используя флаг --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, так что проблема не будет проблемой.

Ответ 2

pod deintegrate и pod clean - две назначенные команды для удаления CocoaPod из вашего проекта/репо.

Вот полный набор команд:

$ sudo gem install cocoapods-deintegrate cocoapods-clean
$ pod deintegrate
$ pod clean
$ 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

Ответ 3

Чтобы полностью удалить стручки из проекта, вам нужно сначала установить две вещи... они следующие (Предположим, у вас уже установлены cocoa-стручки в вашей системе.)...

  1. Cocoapods-Deintegrate Плагин
  2. Cocoapods-Clean Плагин

Монтаж

  1. Cocoapods-Deintegrate Плагин

    Используйте эту следующую команду на вашем терминале, чтобы установить его.

    sudo gem install cocoapods-deintegrate
    
  2. Cocoapods-Clean Плагин

    Используйте эту следующую команду на вашем терминале, чтобы установить его.

    sudo gem install cocoapods-clean
    

использование

Прежде всего, перейдите в папку вашего проекта, используя обычную команду, например..

cd (path of the project) //Remove the braces after cd

Теперь используйте эти два плагина, чтобы полностью удалить его следующим образом.

  1. Cocoapods-Deintegrate Плагин

    Используйте следующую команду на вашем терминале, чтобы сначала деинтегрировать модули из вашего проекта.

     pod deintegrate
    

Deintegrating Pods

  1. Cocoapods-Clean Плагин

    После деинтеграции pod из вашего проекта используйте следующую команду на вашем терминале, чтобы полностью очистить его.

     pod clean
    

    После выполнения вышеуказанных задач в каталоге вашего проекта должен остаться подфайл. Просто удалите его вручную или используйте следующую команду на терминале.

     rm Podfile
    

Вот и все... Теперь ваш проект свободен от стручков... Очищен.

Удаление Cocoapods из системы.

В любом случае попробуйте использовать следующую команду на своем терминале, чтобы удалить/удалить кока-стручки из вашей системы.

sudo gem uninstall cocoapods

Это удалит кока-стручки автоматически.

Благодарю. Надеюсь, это помогло.

Ответ 4

Я думаю, что есть более простой способ сделать это.

Как отредактировано принятым ответом, теперь вы можете использовать сторонний плагин cocoapods-deintegrate, он надежный, потому что его сделал основной член команды CocoaPods.

Но все еще остаются файлы:

Podfile
Podfile.lock
Workspace

Вы можете удалить их из своего проекта вручную, но есть еще один инструмент, помогающий вам их очистить, благодаря cocoapods-clean.

Наконец, деинсталляция еще не завершена, cocoapods-clean не очистить Podfile, просто запустите:

rm Podfile

Ура!

Перед удалением вы должны убедиться, что у вас есть резервная копия вашего проекта!

Ответ 5

pod deintegrate

После этого cmd в вашем проекте не осталось следов Cocoapod.

Но ваше рабочее пространство, ссылающееся на проект Pods, по-прежнему остается, вам нужно удалить менее трех файлов вручную:

xx.xcworkspace
Podifle
Podfile.lock

Затем вы можете снова использовать свой проект.

Удачи!

Тест версии CocoaPod = 1.2.0

Ответ 6

Я пробовал все эти ответы, но он все равно не строился, в конце концов я попробовал:

pod deintegrate
pod install

который действительно сработает!

Как будто нужно удалить все сценарии pod из фаз сборки и снова добавить их для работы, по крайней мере, в моем случае.

Ответ 7

Ответ Keith велик - я просто хочу отметить, что, поскольку Cocoapods 0.36 начинает поддерживать Динамические рамки, если вы используете 'use_frameworks!' в вашем подпикселе, и вы хотите удалить Cocoapods, вы должны сделать это:

  • В разделе Build Phases удалить фазу Embed Pods Frameworks.

Ответ 8

Может быть два аспекта, с которыми может столкнуться разработчик.

  • Либо он хочет полностью удалить контейнеры из проекта
  • разработчик хочет удалить определенную инфраструктуру из проекта из стручки.

В первом случае вы должны использовать "деинтеграцию" и выполнить несколько шагов, упомянутых в ответах выше.

Для второго случая, если вы хотите удалить какую-либо определенную инфраструктуру, которая установлена ​​там, очень простой способ, доступный в вашем файле 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

Здесь я хочу удалить фреймворки facebook и parse (которые были установлены с помощью pods), а не iCarousel, поэтому я обновил свой файл pod, как показано выше.

Теперь, если я запустил pod install, он сохранит iCarousel так, как он есть в моем проекте, и удалит facebook и разбор.

Ответ 9

  • Первое, что вам нужно сделать, это удалить папку Podfile, Podfile.lock, Pods и сгенерированную рабочую область.
  • Затем в .xcodeproj удалите ссылки на файлы Pods.xcconfig и libPods.a.
  • На вкладке проекта "Сборка фаз" удалите раздел "Показывать разделы" Ящик манифеста "(открыть)," Копировать ресурсы ресурсов "(внизу) и" Вставить вкладки "(внизу).
  • Удалить Pods.framework.

Единственное, что вы, возможно, захотите сделать, это включить некоторые из библиотек, которые вы использовали раньше. Вы можете сделать это, просто перетаскивая все папки, которые находятся в папках pods в ваш проект (я предпочитаю помещать их в папку поддерживающих файлов).

Это сработало для меня.

Ответ 11

Я напишу, что сделало очень кратко (чтобы удалить любые CocoaPods из моего проекта).

  • удалить любую добавленную папку (фреймворки, подпрограммы,...)
  • удалять любые добавленные файлы (PROJECT.xcworkspace, PodFile, PodFile.lock, Pods-PROJECT.debug.xcconfig, Pods-PROJECT.release.xcconfig,...)
  • просто оставьте свои оригинальные (PROJECT, PROJECT_Tests, PROJECT.xcodeproj)
  • удалить ссылку на фреймворк из проекта на xcode

Чтобы удалить ссылку на фреймворк из xcode:

  • Используйте Навигатор проектов
  • Выбрать проект
  • Выберите Target PROJECT
  • Выберите "Сформировать фазы" из верхних опций.
  • оставьте группы по умолчанию (целевые зависимости, скомпилируйте источники, связанные бинарные файлы с библиотеками, скопируйте ресурсы Bundle) и удалите любые другие

Ответ 13

Удалить все связанные файлы pod:

  • xx.xcworkspace
  • Podfile
  • Podfile.lock

и в навигаторе проекта:

Нажмите на название проекта (синий значок) → Цели (*) → Этапы сборки → Удалить "[CP] Check Pods manifts.lock" (нажмите "x")

(*) Нажмите на название проекта, возможно, вам придется нажать "Показать проект и список целей", чтобы сначала увидеть боковую панель.

Ответ 14

Если вы просто хотите удалить один модуль и сохранить другие, которые вы, возможно, установили, откройте файл pod в каталоге вашего приложения и удалите тот, который вы хотите удалить. Затем перейдите в каталог приложения с помощью терминала и введите:

pod update

Это удалит модуль, который вы удалили из файла. Вы увидите, что он был удален в терминале:

Analyzing dependencies
Removing FirebaseUI
Removing UICircularProgressRing

Обратите внимание, что этот метод также извлекает любые обновления для других модулей в вашем подфайле. Вы можете или не можете этого хотеть.

Ответ 15

Используйте эти команды терминала (не забудьте использовать 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

Ответ 16

Мне удалось удалить мои модули в проекте с помощью приложения CocoaPods (версия 1.5.2). После этого я только удалил в папке файлы podfile, podfile.lock и xcworkspace.

Ответ 17

enter image description here

графическое представление подробно

Ответ 18

Как улучшить cocoapods: создайте GUI и забудьте об этом безумии командной строки. Мы не в 1974 году больше.