删除已经配置的类库和移除CocoaPods[转]
转自:http://blog.csdn.net/jymn_chen/article/details/19213601
引言
在使用CocoaPods(一)为项目配置第三方类库我们使用CocoaPods非常高效地将一些第三方类库导入到我们的项目中,但是不由得产生一个疑问:如果发现某个类库不适用,甚至是整个CocoaPods我们都不想再在项目中持有,那么我们要怎么把这些东西从项目中清理出去呢?本文介绍的就是如何删除一个或若干个已经在项目中配置好的第三方类库,以及如何将整个CocoaPods从项目中移除(不是在终端中卸载)。
删除项目中已经配置的类库
和(一)类似,我们首先新建一个名为CocoaPodsDemo的项目,然后cd到项目目录下新建一个Podfile文件,并编写该文件,内容如下:
- platform:ios, '7.0'
- pod 'AFNetworking', '~> 2.1.0'
- pod 'JSONKit', '~> 1.5pre'
- pod 'MBProgressHUD', '~> 0.8'
相比(一),我们将要加入的JSONKit的版本从1.1升级到1.5 preview版。
然后pod install,可以看到安装是成功的。
打开CocoaPodsDemo.xcworkspace文件,编译一下,会出现报错:
原因是JSONKit类库出现了各种各样的问题。
这个时候,我们很自然想到要删掉这个类库,然后尝试使用低版本的JSONKit(这也是我在(一)中为什么用1.1作为示例的原因)。
方法:
1.打开Podfile文件,删除JSONKit该行,即:
platform:ios, '7.0'
pod 'AFNetworking', '~> 2.1.0'pod 'JSONKit', '~> 1.5pre'(删除该行)
pod 'MBProgressHUD', '~> 0.8'
(如果想换成1.1版本,将被删除的行改成pod 'JSONKit-NoWarning', '~> 1.1'即可)
2.cd到当前项目目录下,重新执行pod install命令。输出信息如下(留意Removing JSONKit):
- $ pod install
- Analyzing dependencies
- Removing JSONKit
- Downloading dependencies
- Using AFNetworking (2.1.0)
- Using MBProgressHUD (0.8)
- Generating Pods project
- Integrating client project
3.重新打开xcworkspace文件,可以看到JSONKit被移除,再次编译将会通过:
在项目中移除CocoaPods
如果你觉得CocoaPods让你的项目出现了问题,不好用甚至是恶心,想将其从项目中彻底移除,也有方法:
1.删除工程文件夹下的Podfile、Podfile.lock和Pods文件夹。
2.删除xcworkspace文件。
3.打开xcodeproj文件,删除项目中的libpods.a和Pods.xcconfig引用:
4.打开Build Phases选项,删除Check Pods Manifest.lock和Copy Pods Resources:
完成,编译运行,无错通过。
个人感觉,从项目中移除某个类库还算是可以的,但是移除整个CocoaPods就有点麻烦了(也可能是我没有找对方法),希望CocoaPods能作出改进。
另外,如果在编辑工程时不小心删除了某个文件,如Podfile.lock,那么我们就要用上面的方法先移除整个CocoaPods,然后重新建立Podfile和使用pod install命令重装CocoaPods(有够麻烦的)。
参考资料
How to remove CocoaPods from a project?
删除已经配置的类库和移除CocoaPods[转]的更多相关文章
- iOS 删除已经配置的类库和移除CocoaPods
引言 我们使用CocoaPods非常高效地将一些第三方类库导入到我们的项目中,但是不由得产生一个疑问:如果发现某个类库不适用,甚至是整个CocoaPods我们都不想再在项目中持有,那么我们要怎么把这些 ...
- 【转】iOS 删除已经配置的类库和移除CocoaPods
原文网址:http://www.jianshu.com/p/552f21a989ba 引言 我们使用CocoaPods非常高效地将一些第三方类库导入到我们的项目中,但是不由得产生一个疑问:如果发现某个 ...
- 如果您想确保Windows 10在新用户登录时不安装内置应用程序,则必须删除所有配置的应用程序。
原文 如果您想确保Windows 10在新用户登录时不安装内置应用程序,则必须删除所有配置的应用程序. 本文的内容 已安装与配置的应用程序 删除配置的应用程序 安装与配置的应用程序^ 在介绍如何删除所 ...
- 工程移除CocoaPods依赖库
http://zanderzhang.gitcafe.io/2015/09/26/工程移除CocoaPods依赖库/ 点这里--->CocoaPods安装和使用教程 当我们工程安装很多第三方开源 ...
- 关于Bootstrap fileinput 上传新文件,移除时触发服务器同步删除的配置
在Bootstrap fileinput中移除预览文件时可以通过配置initialPreviewConfig: [ { url:'deletefile',key:fileid } ] 来同步删除服务器 ...
- 查看,添加和删除GIT配置的正确姿势
查看GIT所有配置的命令: git config --list 查看GIT全局配置的命令: git config --global --list 添加GIT全局配置(HTTPS代理) git conf ...
- 脚本添加删除nginx配置中的内容
[root@nodejs script]# more editnginx.sh #!/bin/bash # function back_check(){ # 备份配置和覆盖配置文件 cp -rf /e ...
- netsh wlan set hostednetwork 之后如何删除掉 配置 及终端无法获取IP的解决方法
来源 微软 技术支持网站 仅仅禁用hostednetwork 是不行的,配置其实还在,彻底删除 配置可以按照如下操作进行: net stop wlansvcGet-ItemProperty " ...
- AWS EC2避免误删软件包和数据的方法:取消“终止删除”默认配置
本文介绍AWS在终止实例的时候如何保留根卷,避免误删软件包和数据. 作者:光环云 尹晓征 在aws控制台创建EC2的时候,我们在添加存储步骤中,如果使用默认配置的情况下,“终止时删除”配置默认是被选中 ...
随机推荐
- 《深入.NET平台和C# 编程》内测纠错记录
1. .NET框架的核心组件包括(BD)(选择两项) A.CTS (通用类型系统) B.CLR (公共语言运行时,.NET的基础) C.CLS (公共语言规范) D.FCL (框架类 ...
- android夜间模式实现
一.概述 android夜间模式实现分为两大类 重启activity的实现 不重启activity的实现 二.正文 1.重启activity实现夜间模式[在界面文件中的实现部分] 1.1在attrs. ...
- [LintCode] LRU Cache 缓存器
Design and implement a data structure for Least Recently Used (LRU) cache. It should support the fol ...
- scala Ordering
scala.math.Ordering 自定义排序方法. 例:(col : Int, row : Int, Value : Double )是一个Tuple3.排序默认按第一项作为Key. Order ...
- 2016HUAS暑假集训训练2 E - I Hate It
Description 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少.这让很多学生很反感. 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老 ...
- mac下使用glew库,方法
mac下使用glew库,方法 分类: OpenGL2015-01-15 15:52 210人阅读 评论(0) 收藏 举报 目录(?)[+] 主要参考http://www.cnblogs.com ...
- 利用session完成用户登陆
package cn.itcast.cookie; import java.io.IOException; import java.io.PrintWriter; import java.util.L ...
- 【iCore3 双核心板_ uC/OS-III】例程六:信号量——共享资源
实验指导书及代码包下载: http://pan.baidu.com/s/1milKoVA iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...
- HDU 4287 Intelligent IME(字典树数组版)
Intelligent IME Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- profile
项目开发中,使用git最为版本控制工具,往往会建立开发分支.测试分支和生产分支. 各个分支的数据库url,所依赖的接口url可能不同,直接配置的话,在合并分支时往往出现冲突.使用profile可以有效 ...