关于xcode:如何从项目中删除CocoaPods?

How to remove CocoaPods from a project?

从项目中移除椰子的正确方法是什么?我想把整个椰子都去掉。由于客户的一些限制,我不能使用它。我只需要一个xcodeproj而不是一个xcworkspace。


从项目中删除cocoapods是可能的,但目前不是由cli自动完成的。首先,如果你唯一的问题是不能使用xcworkspace,你可以使用xcodeprojs的cocoapods,使用--no-integrate标志,它将产生Pods.xcodeproj,而不是工作区。然后,您可以将这个xcodeproj作为子项目添加到您的主xcodeproj中。

如果你真的想去除所有的可可豆,你需要做一些事情:

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

百万千克1删除独立文件(PodfilePodfile.lock和你的Pods目录)百万千克1百万千克1删除生成的xcworkspace。百万千克1百万千克1打开您的xcodeproj文件,删除对Pods.xcconfiglibPods.a的引用(在Frameworks组中)百万千克1百万千克1在你的Build Phases项下,删除Copy Pods Resources期、Embed Pods Frameworks期和Check Pods Manifest.lock期。百万千克1百万千克1这似乎很明显,但您需要以其他方式集成第三方库,或者从代码中删除对它们的引用。百万千克1

在这些步骤之后,您应该设置一个单独的xcodeproj,它在您集成可可之前就已经存在了。如果我错过了什么,告诉我,我会编辑这个。

此外,我们一直在寻找如何改善可可粉的建议,因此如果您有问题,请提交他们在我们的问题跟踪,以便我们可以想出一个方法来解决他们!

编辑

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


pod deintegratepod clean是两个指定的命令,用于从项目/报告中删除cocoapod。

以下是完整的命令集:

1
2
3
4
$ 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


要从一个项目中完全删除豆荚,首先需要安装两件事……如下所示(假设您的系统中已经安装了可可豆荚)。

  • Cocoapods Deintegrate插件
  • 椰子清洁插件
  • 安装

  • Cocoapods Deintegrate插件

    在终端上使用以下命令安装它。

    1
    sudo gem install cocoapods-deintegrate
  • 椰子清洁插件

    在终端上使用以下命令安装它。

    1
    sudo gem install cocoapods-clean
  • 用法

    首先,使用像..这样的常规命令转到项目文件夹。

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

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

  • Cocoapods Deintegrate插件

    在终端上使用下面的命令,首先从项目中取消封装。

    1
     pod deintegrate
  • Deintegrating Pods

  • 椰子清洁插件

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

    1
     pod clean

    完成上述任务后,您的项目目录中应该还有pod文件。请手动删除该文件或在终端上使用以下命令。

    1
     rm Podfile
  • 就是这样……现在你的项目没有豆荚了……清理了。

    从系统中除去椰子。

    任何方法都可以尝试在终端上使用以下命令从系统中卸载/删除古柯荚。

    1
    sudo gem uninstall cocoapods

    它会自动移除古柯荚。

    谢谢。希望这有帮助。


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

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

    但是,仍有一些文件保留:

    1
    2
    3
    Podfile
    Podfile.lock
    Workspace

    你可以手动将它们从你的项目中移除,但是还有另一个工具可以帮助你清理它们,感谢可可粉的清洁。

    最后,卸载工作还没有完成,cocoapods-clean不清理Podfile只运行:

    1
    rm Podfile

    干杯!

    在删除之前,您应该确保有项目的备份!



    pod deintegrate
    </P >

    在这个CMD,好的大学cocoapods左的痕迹,在你的项目。 </P >

    但你的workspace参考的豆荚的项目仍然是需要的,你应该对下面的文件,手动remove 3: </P >

    xx.xcworkspace podifle podfile.lock </P >

    然后,你可以使用您的项目了。 </P >

    有功夫的!!!!!!! </P >

    试验cocoapod 1.2.0版本= </P >


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

    1
    2
    pod deintegrate
    pod install

    它真的起作用了!

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


    基思的回答很好——我只是想指出,因为Cocoapods0.36开始支持动态框架,如果您使用的是"使用框架!"在您的"podfile"中,如果您希望除去椰子,则必须执行以下操作:

      百万千克1在Build Phases项下,删除Embed Pods Frameworks期。百万千克1


    开发者可能面临两个方面。

    • 要么他想把豆荚从项目中完全移除
    • 开发人员希望从项目中卸载特定框架豆荚。

    在第一种情况下,您必须使用"pod deintegrate"并遵循上述答案中提到的几个步骤。

    对于第二种情况,也就是说,如果您想卸载任何安装在pod文件中的特定框架,只需注释您想要卸载的框架,然后运行pod安装命令即可。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    # 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框架(使用pods安装),而不是i卡洛塞尔,这就是我更新pod文件的原因。

    现在,如果我运行pod安装,它将保持我的项目中的i卡洛塞尔,并将删除facebook和解析。


    型百万千克1您需要做的第一件事是删除PodfilePodfile.lockPods文件夹和生成的工作区。百万千克1百万千克1接下来,在.xcodeproj中,删除对Pods.xcconfig文件和libPods.a文件的引用。百万千克1百万千克1在构建阶段项目选项卡中,删除check pods manifest.lock节(打开)、copy pods resources节(底部)和embed pod resources(底部)。百万千克1百万千克1拆下Pods.framework。百万千克1

    你唯一想做的就是包含一些你以前使用过的库。您可以通过简单地将pods文件夹中的任何文件夹拖到您的项目中(我更喜欢将它们放在我的支持文件文件夹中)。

    这对我很有用。


    如果不起作用,请尝试
    1。清理项目。
    2。已删除派生数据。

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

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


  • .plist中删除podfile名称
  • 重新安装POD(使用此链接安装POD)

  • 如果你只是想要一个remove POD和保持对他人的你可能有installed,开放的podfile在你的应用程序的目录和删除一个你想要的℃。然后navigate,你的应用程序目录中的终端和类型: </P >

    1
    pod update

    这会对你的removed POD remove,从podfile。。。。。。。你会看到它的人已经removed在终端: </P >

    1
    2
    3
    Analyzing dependencies
    Removing FirebaseUI
    Removing UICircularProgressRing

    值得注意的是这个方法也会拉到其他任何updates豆荚在你的podfile。。。。。。。你可能或可能不想看到的。 </P >


    我将写下我做过的非常简短(从我的项目中删除任何椰子)。

  • 删除任何添加的文件夹(框架、pods…)
  • 删除任何添加的文件(project.xcworkspace、podfile、podfile.lock、pods-project.debug.xcconfig、pods-project.release.xcconfig,…)
  • 只需保留原来的项目(project、project_tests、project.xcodeproj)
  • 从Xcode上的项目中移除框架引用
  • 要从Xcode中删除框架引用,请执行以下操作:

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

  • 我是有能力的,我的℃豆荚中的项目使用cocoapods应用程序(版本2)。我只读afterwards消去的podfile,podfile.lock和xcworkspace文件的文件夹。 </P >


    使用这些终端的commands(Don’t忘记到使用sudo命令在开始新的系): </P >

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    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)

    卸载的列表的一个由一个这样的: </P >

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    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

    删除所有相关文件的吊舱。 </P >

    xx.xcworkspace podifle podfile.lock </P >

    后藤和目标——>建立相>这里remove的[脑]检查manifests.lock豆荚 </P >


    如何提高cocoapods:建立一个图形用户界面和命令行craziness忘了这个。我们是不是在1974年anymore。。。。。。。 </P >