从项目中删除CocoaPods的正确方法是什么?我要删除整个CocoaPod。由于客户施加的某些限制,我无法使用它。我只需要一个xcodeproj而不是xcworkspace。

评论

请记住:下次使用git并将其回滚吧!

运行pod deintegrate

请遵循此链接中的步骤medium.com/app-makers/…

#1 楼

可以从项目中删除CocoaPods,但目前尚无法通过CLI自动执行。首先,如果您唯一的问题是无法使用xcworkspace,则可以通过使用xcodeproj标志使用仅与--no-integrate一起使用的CocoaPods,这将产生Pods.xcodeproj而不是工作空间。然后,您可以将此xcodeproj作为子项目添加到主xcodeproj中。

如果您真的要删除所有CocoaPods集成,则需要做一些事情:

注意编辑一些内容如果做错这些事情,可能会破坏您的主要项目。我强烈建议您将项目检查到源代码管理中,以防万一。这些说明也适用于CocoaPods版本0.39.0,它们可能会随着新版本而更改。


删除独立文件(Podfile Podfile.lock和您的Pods目录)
删除生成的xcworkspace

打开xcodeproj文件,删除对Pods.xcconfiglibPods.a的引用(在Frameworks组中)
Build Phases下,删除Copy Pods ResourcesEmbed Pods FrameworksCheck Pods Manifest.lock阶段。您将需要以其他方式集成第三方库或从代码中删除对它们的引用。

完成这些步骤后,应使用集成CocoaPods之前存在的单个xcodeproj进行设置。如果我错过了任何事情,请告诉我,我将对其进行编辑。

我们也一直在寻找有关如何改善CocoaPods的建议,因此,如果您遇到问题,请在我们的问题跟踪器中提交它们,以便我们

编辑

正如Jack Wu在评论中所示,有一个第三方CocoaPods插件可以为您自动执行这些步骤。在这里能找到它。请注意,它是第三方插件,可能在CocoaPods更新时可能不会总是更新。还要注意,它是由CocoaPods核心团队成员制作的,因此问题不会成为问题。

评论


感谢上帝的这篇文章。我被这个噩梦搞砸了……stackoverflow.com/questions/9863836/library-not-found-for-lpods,我现在必须删除CP。谢谢

–法蒂
2014年3月13日在22:32

(以我为例-2014年3月-它与整个“解析/ Facebook库/体系结构设置”的疯狂有关。可能会帮助某人阅读。再次感谢。)

–法蒂
2014年3月14日在7:44

我将要执行此操作,原因是它需要定期重新编译所有Pod项目,即使没有涉及任何项目,因此大大降低了我的构建时间。

–LastNightTrain
2014年4月30日在22:06

将其保留在这里,因为它对我非常有用:github.com/kylef/cocoapods-deintegrate

–杰克
2014年11月18日,0:24

如果有人想知道为什么Xcode中会弹出一百万条警告,那是因为您需要在git / svn上提交更改

– Achintya Ashok
17年3月15日在1:42

#2 楼

pod deintegratepod clean是两个从您的项目/仓库中删除CocoaPod的指定命令。

以下是完整的命令集:

原始解决方案位于此处: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

评论


谢谢,(几乎)为我工作。这些命令后,编译时出现链接器错误。解决方案是从“目标”->“构建阶段”->“使用库链接二进制文件”中删除“ Pods框架”

–uldo
16年1月27日在16:17

从1.0.0beta8版本开始,Cocoapods使用以下名称创建奇怪的构建阶段:📦检查Pods Manifest.lock。拆解后检查是否将其卸下。

–蒂莫尔·贝尼科维奇(Timur Bernikovich)
16年4月21日在14:10

请注意,如果您使用的机器尚未安装cocoapods,则需要先执行gem install cocoapods才能执行pod命令。如果将项目还原或复制到新系统上,可能会发生这种情况。

– NoelHunter
17年1月9日在21:45

我还有,rm Podfile.lock

–拉尔·克里希纳(Lal Krishna)
10月9日12:04

#3 楼

要从项目中完全删除Pod,您需要先安装两件东西……(假设您的系统中已经安装了Cocoa-pods。)...


Cocoapods -Deintegrate插件
Cocoapods-清洁插件

安装



Cocoapods-Deintegrate插件

使用此功能在您的终端上执行以下命令进行安装。

sudo gem install cocoapods-deintegrate



Cocoapods-Clean插件

在终端上使用以下命令可以

sudo gem install cocoapods-clean



用法

首先,使用常规命令,如..

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


现在使用这两个插件按如下所示完全删除它。.



Cocoapods-Deintegrate插件

首先在终端上使用以下命令从项目中分解Pod。

 pod deintegrate







Cocoapods-Clean插件

从项目中分解pod的集成后,请在终端上使用以下命令将其完全清理。

 pod clean


完成上述任务后,应该是仍保留在项目目录中的Podfile。只需手动将其删除,或在终端上使用以下命令即可。.

 rm Podfile
现在,您的项目已从Pod中解放出来。。。已清理。

从系统中删除Cocoapods。

任何方式尝试在终端上使用以下命令进行卸载/从系统中删除古柯豆。

sudo gem uninstall cocoapods


它将自动删除古柯豆。

。希望。
希望这有所帮助。

评论


哇!即使您有其他项目,pod clean也会删除您的工作空间!小心!

–user4691305
16年1月19日在23:00

@charl如果要清理单个项目中的容器,则必须清理工作区...但是该方法显然不适用于与单个工作区关联的多个项目.... :(

– onCompletion
16年1月20日在6:25

发现!!正是我想要的

– Vigneshwaran.m
5月20日18:06

这是所有解决方案中最好,最干净的解决方案。 Thnx伴侣!

–赛义德·法赞·艾哈迈德
7月9日13:56

#4 楼

我认为有一种更简便的方法。

按接受的答案编辑,现在您可以使用第三方插件cocoapods-deintegrate,它是可靠的,因为它是由CocoaPods核心团队成员制作的。

但是,仍然有一些文件:

Podfile
Podfile.lock
Workspace


您可以手动将其从项目中删除,但是还有另一个工具可以最后,仍然无法完成卸载工作,cocoapods-clean不要清洁Podfile,只需运行:

rm Podfile


干杯!

删除之前,请确保已备份项目!

评论


崩解的问题在于它像可可豆一样依赖宝石和红宝石。目前,由于El Capitan和宝石的问题,我希望移除吊舱。卸载程序应作为独立的二进制文件提供。

– nheagy
15年7月16日在2:04

如果您成功解体后遇到问题,请在此处感谢和更多详细信息。

–亚当·约翰斯(Adam Johns)
2015年11月5日15:10

谢谢,使用'cocoapods-deintegrate'很顺利

–shaikh
16年5月30日在20:01

#5 楼

pod deintegrate

此cmd之后,项目中没有任何Cocoapods的痕迹。

但是引用Pods项目的工作空间仍然存在,您需要手动删除以下3个文件:


然后您可以再次使用您的项目。

玩得开心!

测试CocoaPod版本= 1.2.0

评论


尼斯,在手动删除最多内容之后,也在这里工作。

–brainray
17年9月12日在13:29

去核化您的工作空间。如果碰巧需要它,请小心。

–SafeFastExpressive
18/12/5在0:35

@mistdon,您第二次救了我的命。

– Dheeraj D
3月18日上午11:14

#6 楼

我尝试了所有这些答案,但仍然无法构建,最终我尝试了:

pod deintegrate
pod install


实际有效!

这就像需要至少在我的情况下,从构建阶段删除所有pod脚本,然后重新添加它们以使其正常工作。

评论


如果您重命名了集成了pod的项目,则特别有用。

– Bisma
18年5月30日在7:06

#7 楼

Keith的答案很棒-我只想指出一点,因为Cocoapods 0.36开始支持动态框架(如果您使用的是“ use_frameworks!”)。在您的“ Podfile”中并希望删除Cocoapods,您必须执行以下操作:


Build Phases下删除Embed Pods Frameworks阶段。


评论


对。如果您不这样做,将会得到构建错误。

–贾
15年7月14日在22:30

如果在构建阶段中还有其他任何与Pod有关的文件,也将其删除。

–luckyging3r
16年6月17日在22:04

#8 楼

开发人员可能会面临两个方面。

他想从项目中完全删除Pod
开发人员要从
Pod中从项目中卸载特定的框架。

在第一种情况下,您必须使用'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


这里我想卸载facebook和parse框架(已使用pod安装),而不是iCarousel,这就是为什么我如上所述更新了pod文件的原因。
现在,如果我运行pod install,它将使iCarousel保持其在项目中的状态并将删除facebook和解析。

#9 楼


首先需要做的是删除PodfilePodfile.lockPods文件夹和生成的工作区。
接下来,在.xcodeproj中,删除对Pods.xcconfig文件和libPods.a文件的引用。
在“构建阶段”项目选项卡中,删除“检查Pod Manifest.lock”部分(打开),“复制Pod资源”部分(底部)和“嵌入Pod资源”(底部)。
删除Pods.framework

您唯一想做的就是包括以前使用过的某些库。您只需将pods文件夹中的任何文件夹拖到您的项目中即可(我宁愿将它们放到我的Supporting Files文件夹中)。

它对我有用。

#10 楼

$ sudo gem install cocoapods-deintegrate cocoapods-clean
$ pod deintegrate
$ pod clean
$ rm Podfile


评论


清除所有可可粉后,请卸载可可粉-分解可可粉-清洁

–金枪鱼
3月9日11:38

#11 楼

如果不行,请尝试
1.清理项目。
2.删除派生数据。
如果您不知道如何删除派生数据,请转到此处

如何在Xcode6中“删除派生数据”?

#12 楼

如果您只想删除一个Pod并保留其他可能已安装的Pod,请在您的应用目录中打开Podfile,然后删除要删除的Podfile。然后使用终端浏览到您的应用程序目录并键入:

pod update


这将从您的podfile中删除您已删除的pod。您会在终端中看到它已被删除:

Analyzing dependencies
Removing FirebaseUI
Removing UICircularProgressRing


请注意,此方法还将所有更新拉到podfile中的其他pod。您可能想要也可能不想要。

评论


根据文档,您应该使用pod install来添加/删除pod。这是专门为避免像您在此处所说的那样进行更新。您可以阅读有关此主题的有关其“指南”的更多信息... guides.cocoapods.org/using/pod-install-vs-update.html

–马克·A·多诺霍
19年8月6日在14:41

#13 楼

删除所有相关的pod文件:


xx.xcworkspace
Podfile
Podfile.lock

以及在项目浏览器中:

单击项目名称(蓝色图标)->目标(*)->构建阶段->删除“ [CP] Check Pods manifests.lock”(单击“ x”)

(*)单击项目名称,您可能必须单击“显示项目和目标列表”才能首先看到侧边栏。

评论


我还删除了“ Pods”文件夹,因为我只使用了一个,否则就删除“ Pods”文件夹中的单个“ NameOfThePod”文件夹。

– Neph
19年7月17日在13:11

#14 楼

我要简短地写下iv所做的事情(从我的项目中删除所有CocoaPods)。.


删除任何添加的文件夹(框架,Pods等)
删除任何添加的文件(PROJECT.xcworkspace,PodFile,PodFile.lock,Pods-PROJECT.debug.xcconfig,Pods-PROJECT.release.xcconfig等)
只需保留原始文件(PROJECT,PROJECT_Tests,PROJECT)。 xcodeproj)
从xcode上的项目中删除框架参考

要从xcode上删除框架参考:


使用Project Navigator
选择项目
选择目标项目
从顶部选项中选择构建阶段
保留默认组(目标依赖项,编译源,带库的链接二进制文件,复制捆绑资源)并删除任何其他


#15 楼


podfile中删除.plist名称
重新安装Pod(使用此链接进行Pod安装)



#16 楼

我认为您不再需要整合。我可以在终端中使用以下命令来做到这一点:

pod install

,它会自动删除podfile中不再存在的文件

#17 楼

使用以下终端命令(不要在新行的开头使用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


#18 楼

我可以使用CocoaPods应用程序(版本1.5.2)在项目中删除豆荚。之后,我只删除了文件夹中的podfile,podfile.lock和xcworkspace文件。

#19 楼



详细的图示表示