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.删除项目中引用的头文件及相关的代码


  • 2019-09-24 22:03:13

    nginx支持socket

    安装nginx,stream模块默认不安装的,需要手动添加参数:–with-stream,根据自己系统版本选择nginx1.9或以上版本。

  • 2019-09-26 13:25:38

    git合并时冲突<<<<<<< HEAD

    head 到 =======里面的lalala是自己的commit的内容 =========到 >>>>>>里面的hehehe是下拉的内容

  • 2019-09-26 18:57:29

    Java中数组怎么深度复制

    有时候循环进行一些操作,放入list,发现,list中的数据都是一个数据,这就尴尬了,我们需要深度复制,才能解决这个问题。或者生成新的,也就是深度复制。

  • 2019-09-26 19:03:33

    spring post jackson的反序列化需要无参构造函数

    JSON parse error: Cannot construct instance of `com.**` (although at least one Creator exists): cannot deserialize from Object value (no delegate- or property-based Creator); nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot construct instance of `com.**` (although at least one Creator exists): cannot deserialize from Object value (no delegate- or property-based Creator)  at [Source: (PushbackInputStream); line: 2, column: 2]] ———————————————— 版权声明:本文为CSDN博主「冰夏之夜影」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/u011561335/article/details/91346777

  • 2019-09-26 21:46:36

    Shiro整合JWT+Token过期刷新,demo,详解

    最近使用SpringBoot集成Shiro,JWT快速搭建了一个后台系统,Shiro前面已经使用过,JWT(JSON Web Tokens)是一种用于安全的传递信息而采用的一种标准。Web系统中,我们使用加密的Json来生成Token在服务端与客户端无状态传输,代替了之前常用的Session。 系统采用Redis作为缓存,解决Token过期更新的问题,同时集成SSO登录,完整过程这里来总结一下。

  • 2019-09-26 21:48:15

    解决UEditor超出最大字数后只提示不限制的问题

    最近项目用到百度额UEditor文本编辑器,今天测试向我提出了一个问题。就是在输入的文字超过默认的最大字数限制之后,虽然提示“字数超过最大范围,服务器可能拒绝保存”,但是仍然可以点击保存按钮进行保存。