首页 文章

如何从项目中删除CocoaPods?

提问于
浏览
399

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

15 回答

  • 3

    可以从项目中删除CocoaPods,但CLI当前不会自动删除 . 首先,如果您遇到的唯一问题是无法使用 xcworkspace ,则可以使用 xcodeproj 标志使用CocoaPods,这将产生 Pods.xcodeproj 但不会产生工作空间 . 然后,您可以将此 xcodeproj 作为子项目添加到主 xcodeproj .

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

    NOTE 如果不正确地编辑其中的一些内容可能会破坏您的主项目 . 我强烈建议您将项目检查到源代码管理中以防万一 . 这些说明也适用于CocoaPods版本 0.39.0 ,它们可能会随新版本而改变 .

    • 删除独立文件( Podfile Podfile.lockPods 目录)

    • 删除生成的 xcworkspace

    • 打开 xcodeproj 文件,删除对 Pods.xcconfiglibPods.a 的引用(在 Frameworks 组中)

    • Build Phases 下删除 Copy Pods ResourcesEmbed Pods FrameworksCheck Pods Manifest.lock 阶段 .

    • 这看似显而易见,但您需要以其他方式集成第三方库或从代码中删除对它们的引用 .

    在这些步骤之后,您应该使用在集成CocoaPods之前存在的单个 xcodeproj 进行设置 . 如果我错过任何事情让我知道,我会编辑这个 .

    此外,我们一直在寻找有关如何改进CocoaPods的建议,所以如果您有问题,请在我们的issue tracker中提交,以便我们能够找到解决方法!

    EDIT

    正如Jack Wu在评论中所提到的那样,第三方CocoaPods插件可以为您自动执行这些步骤 . 它可以找到here . 请注意,它是第三方插件,可能并不总是在CocoaPods时更新 . 另请注意,它是由CocoaPods核心团队成员制作的,因此问题不会成为问题 .

  • 12

    pod deintegratepod clean 是从项目/ repo中删除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

    pod deintegrate 上的CocoaPod文档:https://guides.cocoapods.org/terminal/commands.html#pod_deintegrate

  • 46

    我认为有一种更简单的方法可以做到这一点 .

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

    但是,仍然有一些文件仍然存在:

    Podfile
    Podfile.lock
    Workspace
    

    您可以手动将它们从项目中删除,但是还有另一种工具可以帮助您清理它们,谢谢cocoapods-clean .

    最后,卸载工作仍未完成, cocoapods-clean 不清理 Podfile ,只需运行:

    rm Podfile
    

    干杯!

    Before removing you should ensure you have a backup of your project!

  • 4

    要完全从项目中删除pod,你需要先安装两件事......这些是以下内容(假设你的系统中已经安装了cocoa-pods . )......

    • Cocoapods-Deintegrate插件

    • Cocoapods-Clean插件

    Installation

    • Cocoapods-Deintegrate插件

    在终端上使用以下命令进行安装 .

    sudo gem install cocoapods-deintegrate
    
    • Cocoapods-Clean插件

    在终端上使用以下命令进行安装 .

    sudo gem install cocoapods-clean
    

    Usage

    首先使用像往常一样的命令转到你的项目文件夹 .

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

    现在使用这两个插件将其完全删除,如下所示 .

    • Cocoapods-Deintegrate插件

    在终端上使用以下命令首先从项目中解除pod .

    pod deintegrate
    

    Deintegrating Pods

    • Cocoapods-Clean插件

    从项目中解除pod后,在终端上使用以下命令将其完全清除 .

    pod clean
    

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

    rm Podfile
    

    多数民众赞成...现在你的项目免于 beans 荚...清理 .

    Removing Cocoapods from the system.

    任何方式尝试在终端上使用以下命令从系统中卸载/删除可卡包 .

    sudo gem uninstall cocoapods
    

    它会自动删除可口可乐包 .

    谢谢 . 希望这有帮助 .

  • 273

    pod deintegrate

    在此cmd之后,您的项目中没有留下Cocoapods的痕迹 .

    但是仍然保留引用Pods项目的工作区,您需要手动删除3个以下的文件:

    xx.xcworkspace
    Podifle
    Podfile.lock

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

    玩得开心!

    测试CocoaPod版本= 1.2.0

  • 6

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

    pod deintegrate
    pod install
    

    哪个真的有效!

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

  • 0

    基思的答案很棒 - 我只想指出,因为Cocoapods 0.36开始支持 Dynamic Frameworks ,如果您在'Podfile'中使用了'use_frameworks!',并且希望删除Cocoapods,则必须执行以下操作:

    • Build Phases 删除 Embed Pods Frameworks 阶段 .
  • 1

    开发人员可能面临两个方面 .

    • 他想要从项目中完全删除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和解析框架(使用pod安装)而不是iCarousel,这就是我更新我的pod文件的原因 .

    现在,如果我运行pod安装,它将保持iCarousel在我的项目中,并将删除Facebook和解析 .

  • 1
    • 您需要做的第一件事是删除 PodfilePodfile.lockPods 文件夹和生成的工作区 .

    • 接下来,在 .xcodeproj 中,删除对 Pods.xcconfig 文件和 libPods.a 文件的引用 .

    • 在Build Phases项目选项卡中,删除Check Pods Manifest.lock部分(打开),Copy Pods Resources部分(底部)和Embed Pod Resources(底部) .

    • 删除 Pods.framework .

    您可能想要做的唯一事情是包括您之前使用的一些库 . 您可以通过简单地将pods文件夹中的任何文件夹拖放到项目中来实现此目的(我更喜欢将它们放入我的Supporting Files文件夹中) .

    它对我有用 .

  • 0

    如果不行,试试吧
    1.清理项目 .
    2.删除派生数据 .

    如果您不知道如何删除派生数据,请转到此处

    How to "Delete derived data" in Xcode6?

  • 44

    我将写一些非常简单的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

    • 选择项目

    • 选择目标项目

    • 从顶部选项中选择Build Phases

    • 保留默认组(目标依赖项,编译源,链接二进制文件库,复制软件包资源)并删除任何其他组

  • 17
  • 40

    使用这些终端的命令(不要忘记在新行的开头使用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
    
  • 963

    删除所有相关的pod文件 .

    xx.xcworkspace Podifle Podfile.lock

    和Goto目标 - >构建阶段 - >这里删除[cp]检查pods manifests.lock

  • -4

    如何改进cocoapods:构建一个GUI并忘记这个命令行疯狂 . 我们不再是1974年了 .

相关问题