pod删除已导入的第三方库和移除项目中的cocoapods

2018-12-04 23:40:26

CocoaPods是一个负责管理iOS项目中第三方开源库的工具。CocoaPods的项目源码在Github上管理。在我们有了CocoaPods这个工具之后,只需要将用到的第三方开源库放到一个名为Podfile的文件中,然后在命令行执行$ pod install命令。CocoaPods就会自动将这些第三方开源库的源码下载下来,并且为我的工程设置好相应的系统依赖和编译参数. 但是如果我们导入的某个第三方不适用,或者我们又不想使用该第三方,那我们又该如何将这些相关的东西从我们的项目中清理出去呢?

第一部分介绍如何删除项目中已经由cocoapods配置好的第三方

1,打开项目中的Podfile文件,如图所示


2,直接在Podfile文件删除选中想删除的第三方库,如图所示:


3.打开终端cd到当前项目的根目录下重新执行命令pod update --verbose --no-repo-update(网上的做法命令是这么写的:,pod install --verbose --no-repo-update)我没有去研究他们的区别,如果有谁知道欢迎直接告诉我,谢谢。

当命令运行完后项目中的Snapkit第三方就已经被移除。

但这个时候有的同学的终端会出现问题,如图所示:


这是因为Podfile文件格式还是以前的老版本格式需要修改下,修改如下图所示:


更改好了Podfile文件格式后,又重新执行命令pod update --verbose --no-repo-update。等待重新更新安装

4,如果这个时候更新没有问题,那就恭喜你,但是也会出现警告,这些警告不能忽略,你忽视了的结果就是不能打包,这是我的亲身经历,如图所示:


这么一大坨东西,查了下资料,发现是配置的问题,现在记录下解决方法,

进入对应的工程中,找到build setting对应的地址,这个地址就是你出现问题是弹出的内容,我这里的地址就是两个  'HEADER_SEARCH_PATHS'和 'OTHER_LDFLAGS',这两个就是上面那四个[!]里给出的,分别对应两种状态调试和发布([Debug]和[Release]),在对应的工程中把`$(inherited)`加进去即可,注意,去掉''号,如下图所示:


有的时候可能不是在这个路径下面,根据具体提示找到该位置,做同样的修改就可以了。这是我的亲身经历希望能帮到你。

第二部分:删除cocoapods


某种特殊情况下我们甚至都不想使用cocoapods了,这时我们想要将cocoapods彻底的从项目中移除,不留一点痕迹,略微有点麻烦,


1.删除工程文件夹下的Podfile、Podfile.lock和Pods文件夹,xcworkspace文件。


2.打开xcodeproj文件,删除项目中的Pods文件夹及Framework文件夹(此时这两个文件夹中的文件已经报红,说明此时这些文件已经不存在)


3.删除配置文件: 打开Build Phases选项,删除Check Pods Manifest.lock和Copy Pods Resources,以及Embeded Pods Frameworks


4.删除项目中引用的头文件及相关的代码


  • 2018-09-03 13:57:27

    load average 的含义

    一般的进程需要消耗CPU、内存、磁盘I/O、网络I/O等资源,在这种情况下,平均负载就不是单独指的CPU使用情况。即内存、磁盘、网络等因素也可以影响系统的平均负载值。 在单核处理器中,平均负载值为1或者小于1的时候,系统处理进程会非常轻松,即负载很低。当达到3的时候,就会显得很忙,达到5或者8的时候就不能很好的处理进程了(其中5和8目前还是个争议的阈值,为了保守起见,建议选择低的)。

  • 2018-09-05 01:42:03

    git reset 回退以前某个版本及常用命令

    第一个命令只删除所有untracked的文件,如果文件已经被tracked, 修改过的文件不会被回退。而第二个命令把tracked的文件revert到前一个版本,对于untracked的文件(比如编译的临时文件)都不会被删除。

  • 2018-09-08 16:04:25

    Android SQLiteDatabase使用详细教程

    Android提供了创建和是用SQLite数据库的API。SQLiteDatabase代表一个数据库对象,提供了操作数据库的一些方法。在Android的SDK目录下有sqlite3工具,我们可以利用它创建数据库、创建表和执行一些SQL语句。下面是SQLiteDatabase的常用方法。SQLiteDatabase的常用方法方法名称方法表示含义openOrCreateDatabase(Stringpath,SQLiteDatabase.CursorFactoryfactory)

  • 2018-09-09 02:25:09

    单例模式的好处和缺点?为什么要用单例模式?

    单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。

  • 2018-09-09 02:31:48

    基于VCamera,仿微信录制短视频

    基于VCamera,Android仿微信录制短视频,如果喜欢请star,如果觉得有纰漏请提交issue,如果你有更好的点子可以提交pull request。