如何从项目中删除CocoaPods?
什么是从项目中删除CocoaPods的正确方法? 我想删除整个CocoaPod。 由于我的客户强加一些限制,我不能使用它。 我需要只有一个xcodeproj而不是一个xcworkspace。
从项目中删除CocoaPods是可能的,但是目前CLI没有自动执行。 首先,如果唯一的问题是无法使用xcworkspace
那么可以使用CocoaPods和xcodeproj
通过使用--no-integrate
标志来生成Pods.xcodeproj
而不是工作区。 然后你可以把这个xcodeproj
作为子项目添加到你的主xcodeproj
。
如果你真的想删除所有的CocoaPods集成,你需要做一些事情:
注意如果做错了,编辑这些东西可能会破坏你的主项目。 为了以防万一,我强烈build议你检查你的项目到源代码控制。 此外,这些说明是为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
。Check Pods Manifest.lock
阶段。 - 这可能看起来很明显,但是您需要以其他方式集成第三方库或从代码中删除对它们的引用。
在完成这些步骤之后,您应该使用集成CocoaPods之前存在的单个xcodeproj
进行设置。 如果我错过了任何事情,请告诉我,我会编辑这个。
此外,我们一直在寻找如何改进CocoaPods的build议,所以如果你有问题,请在我们的问题跟踪器提交他们,所以我们可以想出一个方法来解决它们!
编辑
正如Jack Wu在评论中所显示的那样 ,第三方CocoaPods插件可以为您自动执行这些步骤。 它可以在这里find。 请注意,这是一个第三方插件,可能并不总是在CocoaPods更新的时候。 另外请注意,它是由一个CocoaPods核心团队成员,使问题不会成为一个问题。
pod deintegrate
和pod clean
是两个指定的命令,用于从项目/回购库中删除CocoaPod。
以下是一组完整的命令:
$ sudo gem install cocoapods-deintegrate cocoapods-clean $ pod deintegrate $ pod clean $ rm Podfile
原始解决scheme在这里find: https : //medium.com/@icanhazedit/remove-uninstall-deintegrate-cocoapods-from-your-xcode-ios-project-c4621cee5e42#.wd00fj2e5
关于pod deintegrate
文档pod deintegrate
: https : pod deintegrate
我认为有一个更简单的方法来做到这一点。
按照接受的答案编辑,现在可以使用第三方插件cocoapods-deintegrate ,这是可靠的,因为它是由CocoaPods核心团队成员制作的。
但是,仍然有一些文件:
Podfile Podfile.lock Workspace
你可以从你的项目手动删除他们,但也有另一个工具来帮助你清理它们,感谢cocoapods – 清洁 。
最后,卸载工作还没有完成, cocoapods-clean
不清理Podfile
,只需运行:
rm Podfile
干杯!
在删除之前,你应该确保你有你的项目的备份!
要从一个项目中完全删除豆荚,您需要先安装两个东西…那些如下(假设您的系统中已经安装了cocoa豆荚)。
- Cocoapods – 解锁插件
- Cocoapods干净的插件
安装过程…
-
Cocoapods – 解锁插件
在您的terminal上使用以下命令来安装它。
sudo gem install cocoapods-deintegrate
-
Cocoapods干净的插件
在您的terminal上使用以下命令来安装它。
sudo gem install cocoapods-clean
使用程序…
首先使用像往常一样的命令转到你的项目文件夹..
cd (path of the project) //Remove the braces after cd
现在使用这两个插件两个完全删除它,如下所示。
-
Cocoapods – 解锁插件
首先在您的terminal上使用以下命令从您的项目中解体。
pod deintegrate
-
Cocoapods干净的插件
将pod从您的项目中解体后,在terminal上使用以下命令将其彻底清除。
pod clean
完成上述任务后,应该有Podfile仍然在您的项目目录..只需手动删除或在terminal上使用此以下命令..
rm Podfile
多数民众赞成在…现在你有你的项目从豆荚..释放。
从系统中删除Cocoapods
任何方式尝试在您的terminal上使用以下命令来卸载/删除系统中的古柯。
sudo gem uninstall cocoapods
它会自动去除可口可乐。
谢谢。 希望这有助于。
pod deintegrate
在此cmd之后,您的项目中不会留下Cocoapods的痕迹。
但是引用Pods项目的工作区仍然存在,您需要手动删除以下3个文件:
xx.xcworkspace
Podifle
Podfile.lock
然后你可以再次使用你的项目。
玩的开心!
testingCocoaPod版本= 1.2.0
我尝试了所有这些答案,但它仍然不会build立,最终我尝试了:
pod deintegrate pod install
实际上工作!
就像它需要从构build阶段中删除所有的pod脚本,并重新添加它们以使其工作,至less在我的情况下。
Keith的答案很好 – 我只想指出,因为Cocoapods 0.36开始支持dynamic框架 ,如果你正在使用'use_frameworks!' 在你的“Podfile”中,你想删除Cocoapods,你必须这样做:
- 在
Build Phases
删除Embed Pods Frameworks
阶段。
开发者可能面临两方面的问题。
- 他要么完全从项目中删除豆荚
- 开发人员想要从pod的项目中卸载特定的框架。
在第一种情况下,您必须使用“荚分解”,并遵循上面答案中提到的几个步骤。
对于第二种情况,即如果您想卸载任何特定的框架,那么您的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和parsing框架(这是使用豆荚安装),而不是iCarousel这就是为什么我已经更新我的豆荚文件,如上所示。
现在,如果我运行pod安装,它将保持iCarousel,因为它在我的项目,并将删除Facebook和parsing。
- 您需要做的第一件事是删除
Podfile
,Podfile.lock
,Pods
文件夹和生成的工作区。 - 接下来,在
.xcodeproj
,删除对Pods.xcconfig
文件和libPods.a
文件的引用。 - 在Build Phases项目选项卡中,删除Check Pods Manifest.lock部分(打开),Copy Pods Resources部分(底部)和Embed Pod资源(底部)。
- 删除
Pods.framework
。
你可能想要做的唯一的事情就是包括你之前使用的一些库。 你可以通过简单地拖动任何文件夹中的任何文件夹到你的项目中(我更喜欢把它们放到我的支持文件夹中)。
它为我工作。
如果不行,请尝试
1.清理项目。
2.删除导出的数据。
如果你不知道如何删除派生的数据去这里
如何在Xcode6中“删除派生数据”?
我会写很简单的做什么(从我的项目中删除任何CocoaPods)..
- 删除任何添加的文件夹(框架,豆荚,…)
- 删除所有添加的文件(PROJECT.xcworkspace,PodFile,PodFile.lock,Pods-PROJECT.debug.xcconfig,Pods-PROJECT.release.xcconfig,…)
- 只保留原来的(PROJECT,PROJECT_TEST,PROJECT.xcodeproj)
- 在xcode上从项目中移除框架引用
从xcode中删除框架引用:
- 使用项目导航器
- select项目
- select目标项目
- 从顶部选项中select“构build阶段”
- 保留默认组(Target Dependencies,Compile Sources,Linked Binary with Libraries,Copy Bundle Resources)并删除其他的
- 从
.plist
删除podfile
名称 - 重新安装吊舱(使用此链接进行吊舱安装)
- Xcode 8 cocoapods中止陷阱:6
- Cocoapods命令由于“没有这样的文件或目录@ dir_initialize – /Users/<username>/.cocoapods/repos(Errno :: ENOENT)”而失败
- Cocoapods警告 – CocoaPods没有设置你的项目的基本configuration,因为你的项目已经有一个自定义的configuration集
- Cocoapods安装卡在terminal上的pod setup命令上
- 更新到Xcode 8后的错误:“没有这样的模块”和“目标覆盖EMBEDDED_CONTENT_CONTAINS_SWIFT”build立设置“
- 如何将Cocoapods与Swift项目整合?
- 在pod spec中的Cocoapods依赖不起作用
- iOS – 编译失败,CocoaPods无法find头文件
- 我如何在embedded式框架中使用Cocoapods?