如何从一个项目中移除CocoaPods?
如何从一个项目中移除CocoaPods?
从一个项目中删除CocoaPods的正确方法是什么?我想要完全删除CocoaPod。由于客户强加了一些限制,我不能使用它。我需要只有一个xcodeproj而不是一个xcworkspace。
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
有关 pod deintegrate
的 CocoaPod 文档:https://guides.cocoapods.org/terminal/commands.html#pod_deintegrate
从项目中删除CocoaPods是可能的,但目前CLI并没有自动化此过程。首先,如果唯一的问题是不能使用xcworkspace
,则可以通过使用--no-integrate
标志仅使用xcodeproj
使用CocoaPods,该标志将生成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
阶段。 - 这可能很明显,但您需要以其他方式集成第三方库或从代码中删除对它们的引用。
在完成上述步骤后,您应该拥有一个在集成CocoaPods之前存在的单个xcodeproj
。如果我漏掉了什么,请告诉我,我会进行编辑。
我们一直在寻求建议,以改进CocoaPods,如果您有任何问题,请在我们的问题跟踪器中提交,以便我们想出解决方法!
编辑
如评论中Jack Wu所示,有一个第三方的CocoaPods插件,可以为您自动完成这些步骤。它可以在此处找到。请注意,它是一个第三方插件,可能不会始终更新CocoaPods。同时注意,它是由CocoaPods核心团队成员制作的,所以这个问题不会成为问题。