Как правильно удалить 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каталог)xcworkspacexcodeprojфайл, удалите ссылки на Pods.xcconfigи libPods.a(в Frameworksгруппе)Build Phasesудалении Copy Pods Resources, Embed Pods Frameworksи Check Pods Manifest.lockэтапы.После этих шагов вы должны быть установлены с одним xcodeproj , существовавший до того, как вы интегрировали CocoaPods. Если я что-то пропустил, дайте мне знать, и я отредактирую это.
Кроме того, мы всегда ищем предложения о том, как улучшить CocoaPods, поэтому, если у вас есть проблемы, пожалуйста, отправьте их в наш трекер, чтобы мы могли найти способ их исправить!
РЕДАКТИРОВАТЬ
Как показал Джек Ву в комментариях, есть сторонний плагин 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-Deintegrate Plugin
Используйте следующую команду на вашем терминале, чтобы установить его.
sudo gem install cocoapods-deintegrateCocoapods-Clean Плагин
Используйте следующую команду на вашем терминале, чтобы установить его.
sudo gem install cocoapods-cleanПрименение
Прежде всего, перейдите в папку вашего проекта, используя обычную команду, например ..
cd (path of the project) //Remove the braces after cd
Теперь используйте эти два плагина, чтобы полностью удалить его следующим образом.
Cocoapods-Deintegrate Plugin
Используйте эту следующую команду на вашем терминале, чтобы сначала деинтегрировать модули из вашего проекта.
pod deintegrateCocoapods-Clean Плагин
После деинтеграции pod из вашего проекта используйте следующую команду на вашем терминале, чтобы полностью очистить его.
pod clean
После выполнения вышеуказанных задач в каталоге вашего проекта должен остаться подфайл. Просто удалите его вручную или используйте следующую команду на терминале.
rm PodfileВот и все ... Теперь ваш проект свободен от стручков ... Очищен.
Удаление Cocoapods из системы.
В любом случае попробуйте использовать следующую команду на своем терминале, чтобы удалить / удалить кока-стручки из вашей системы.
sudo gem uninstall cocoapods
Это удалит кока-стручки автоматически.
Спасибо. Надеюсь, это помогло.
pod clean удаляет ваше рабочее пространство , даже если в нем есть другие проекты! Быть осторожен!
Я думаю, что есть более простой способ сделать это.
Согласно отредактированному ответу, теперь вы можете использовать сторонний плагин cocoapods-deintegrate , он надежен, потому что его сделал член основной команды CocoaPods.
Но есть еще несколько файлов:
Podfile
Podfile.lock
Workspace
Вы можете удалить их из своего проекта вручную, но есть еще один инструмент, который поможет вам очистить их, благодаря cocoapods-clean .
Наконец, работа по удалению еще не завершена, cocoapods-cleanне очищайте Podfile, просто запустите:
rm Podfile
Ура!
Перед удалением вы должны убедиться, что у вас есть резервная копия вашего проекта!
pod deintegrate
После этого cmd в вашем проекте не осталось следов Cocoapods.
Но ваше рабочее пространство, ссылающееся на проект Pods, все еще остается, вам нужно удалить ниже 3 файла вручную:
xx.xcworkspace
Podifle
Podfile.lock
Затем вы можете снова использовать свой проект.
Радоваться, веселиться!
Тестовая версия CocoaPod = 1.2.0
Я попробовал все эти ответы, но это все равно не получилось, в конце концов я попытался:
pod deintegrate
pod install
который на самом деле работал!
Как будто нужно удалить все сценарии pod из ваших фаз сборки и заново добавить их обратно, чтобы это работало, по крайней мере, в моем случае.
Ответ Кейта великолепен - я просто хочу отметить, что поскольку Cocoapods 0.36 начинает поддерживать Dynamic Frameworks , если вы используете 'use_frameworks!' в вашем «Podfile» и вы хотите удалить Cocoapods, вы должны сделать это:
Build Phasesудаления Embed Pods Frameworks.Podsвнутренней частью, Build Phases удалите их тоже.
Разработчик может столкнуться с двумя аспектами.
В первом случае вы должны использовать «pod deintegrate» и выполнить несколько шагов, упомянутых в ответах выше.
Во втором случае, если вы хотите удалить какой-либо конкретный фреймворк, который там установлен, очень простым способом, доступным в вашем файле pod, просто прокомментируйте фреймворк, который вы хотите удалить, и выполните команду pod install
# 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
Здесь я хочу удалить фейсбук и проанализировать фреймворки (которые были установлены с помощью pods), а не iCarousel, поэтому я обновил свой файл pod, как указано выше.
Теперь, если я запустлю pod install, он сохранит iCarousel, как в моем проекте, и удалит Facebook и проанализирует.
Podfile, Podfile.lock, тоPods папку, и создается рабочее пространство..xcodeprojудалите ссылки на Pods.xcconfigфайлы иlibPods.a файл.Pods.framework.Единственное, что вы можете сделать, - это включить некоторые библиотеки, которые вы использовали ранее. Вы можете сделать это, просто перетащив любые папки из папок pods в ваш проект (я предпочитаю помещать их в мою папку Supporting Files).
Это сработало для меня.
$ sudo gem install cocoapods-deintegrate cocoapods-clean
$ pod deintegrate
$ pod clean
$ rm Podfile
gem uninstall cocoapods-deintegrate cocoapods-clean
Если не работает, попробуйте
1. очистить проект.
2. удалил производные данные.
если вы не знаете, как удалить производные данные, перейдите сюда
Удалить все связанные файлы pod:
и в навигаторе проекта:
Нажмите на название проекта (синий значок) -> Цели (*) -> Этапы сборки -> Удалить «[CP] Check Pods manifts.lock» (нажмите на «x»)
(*) Нажмите на название проекта, возможно, вам придется нажать «Показать проект и список целей», чтобы сначала увидеть боковую панель.
Я напишу, что я сделал очень кратко (чтобы удалить любые CocoaPods из моего проекта) ..
Чтобы удалить ссылку на структуру из xcode:
podfileимя из.plist Если вы просто хотите удалить один модуль и сохранить другие, которые вы, возможно, установили, откройте файл pod в каталоге вашего приложения и удалите тот, который вы хотите удалить. Затем перейдите в каталог приложения с помощью терминала и введите:
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
Я не думаю, что вам нужно больше дезинтегрировать. Я смог сделать это с помощью следующей команды в терминале:
под установку
и он автоматически удаляет те, которых больше нет в подфайле