iOS - 安装CocoaPods详细过程(重装系统后!)
重装的系统,发现很多东西都要重装,顺便复习和检验下以前的方法还有没有效
一、简介
什么是CocoaPods
CocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为“Pods”的依赖库(这些类库必须是CocoaPods本身所支持的),并且可以轻松管理其版本。
CocoaPods的好处
1、在引入第三方库时它可以自动为我们完成各种各样的配置,包括配置编译阶段、连接器选项、甚至是ARC环境下的-fno-objc-arc配置等。
2、使用CocoaPods可以很方便地查找新的第三方库,这些类库是比较“标准的”,而不是网上随便找到的,这样可以让我们找到真正好用的类库。

二、Cocoapods安装步骤
注意:在终端输入命令时,取$后面部分输入
1、升级Ruby环境
终端输入:$ gem update --system
此时会出现

这是因为你没有权限去升级Ruby
这时应该输入:$ sudo gem update --system
此时会出现

接下来输入密码,注意:输入密码的时候没有任何反应,光标也不会移动,你尽管输入就是了,输完了直接回车。
等一会如果出现

恭喜你,升级Ruby成功了。
2、更换Ruby镜像
首先移除现有的Ruby镜像
终端输入:$ gem sources --remove https://rubygems.org/
然后添加国内最新镜像源(淘宝的Ruby镜像已经不更新了)
终端输入:$ gem sources -a https://gems.ruby-china.org/
执行完毕之后输入gem sources -l来查看当前镜像
终端输入:$ gem sources -l
如果结果是
*** CURRENT SOURCES ***
https://gems.ruby-china.org/
说明添加成功,否则继续执行$ gem source -a https://gems.ruby-china.org/来添加
3、安装CocoaPods
接下来开始安装
终端输入:$ sudo gem install cocoapods
如果出现这个

说明没有权限,需要输入
终端输入:$ sudo gem install -n /usr/local/bin cocoapods
安装成功如下:

到这之后再执行pod setup(PS:这个过程是漫长的,要有耐心)
终端输入:$ pod setup
然后你会看到出现了Setting up CocoaPods master repo,卡住不动了,说明Cocoapods在将它的信息下载到 ~/.cocoapods里。
你可以command+n新建一个终端窗口,执行cd ~/.cocoapods/进入到该文件夹下,然后执行du -sh *来查看文件大小,每隔几分钟查看一次,这个目录最终大小是900多M(我的是930M)
当出现Setup completed的时候说明已经完成了。
哈哈,太不容易了,终于走到这一步了,终于安装完成了,那么到底能不能用呢?咱们接着往下看!
注意:以上所有的步骤都是为这台电脑配置CocoaPods环境,以下才是真正的把CocoaPods安装到你的工程里面。
4、CocoaPods的使用
1、首先我们来搜索一下三方库
终端输入:$ pod search AFNetworking
这时有可能出现

这是因为之前pod search的时候生成了缓存文件search_index.json
执行rm ~/Library/Caches/CocoaPods/search_index.json来删除该文件
然后再次输入pod search AFNetworking进行搜索
这时会提示Creating search index for spec repo 'master'..
等待一会将会出现搜索结果如下:

出现这个了就说明搜索成功了,看一下上图中的这一句:
pod 'AFNetworking', '~> 3.1.0'
这句话一会我们要用到,这是CocoaPods添加三方库的关键字段
然后退出这个界面(这一步只是验证一下cocoapods有没有安装成功,能不能搜索到你想要的三方库),直接按"q"就退出去了。
如果搜索到的版本不是最新的,请查看iOS解决CocoaPods搜索不到最新版SDK的问题
2、在工程中创建一个Podfile文件
要想在你的工程中创建Podfile文件,必须先要进到该工程目录下
终端输入:$ cd /Users/liyang/Desktop/CocoaPodsTest
//这是我电脑上的路径,你输入你自己项目的路径或直接拖拽也行
进来之后就创建
终端输入:$ touch Podfile
然后你在你的工程目录下可以看到多了一个Podfile文件
3、编辑你想导入的第三方库的名称及版本
使用vim编辑Podfile文件
终端输入:$ vim Podfile
进入如下界面:

进来之后紧接着按键盘上的英文'i'键
下面的"Podsfile" 0L, 0C将变成-- INSERT --
然后就可以编辑文字了,输入以下文字
platform :ios, '7.0'
target 'MyApp' do
pod 'AFNetworking', '~> 3.1.0'
end
解释一下
platform :ios, '7.0'代表当前AFNetworking支持的iOS最低版本是iOS 7.0,
'MyApp'就是你自己的工程名字,
pod 'AFNetworking', '~> 3.1.0'代表要下载的AFNetworking版本是3.1.0及以上版本,还可以去掉后面的'~> 3.1.0',直接写pod 'AFNetworking',这样代表下载的AFNetworking是最新版。
编辑完之后成如下样子:

此时该退出去了,怎么退出去呢?跟着我做,先按左上角的esc键,再按:键,再输入wq,点击回车,就保存并退出去了。
这时候,你会发现你的项目目录中名字为Podfile的文件的内容就是你刚刚输入的内容。
4、把该库下载到Xcode中
终端输入:$ pod install
这就开始下载了,需要一段时间,出现如下界面就说明安装好了

这个时候关闭所有的Xcode窗口,再次打开工程目录会看到多了一个后缀名为.xcworkspace文件。

以后打开工程就双击这个文件打开了,而不再是打开.xcodeproj文件。
进入工程后引入头文件不再是#import "AFNetworking.h",而是#import <AFNetworking.h>
作者:my_杨哥
链接:https://www.jianshu.com/p/9e4e36ba8574
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
iOS - 安装CocoaPods详细过程(重装系统后!)的更多相关文章
- iOS安装CocoaPods详细过程
iOS安装CocoaPods详细过程 一.简介 什么是CocoaPods CocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为“Pods”的 ...
- IOS安装CocoaPods详情过程
一.简介 什么是CocoaPods CocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为“Pods”的依赖库(这些类库必须是CocoaPod ...
- 【Oracle RAC】Linux系统Oracle11gR2 RAC安装配置详细过程V3.1(图文并茂)
[Oracle RAC]Linux系统Oracle11gR2 RAC安装配置详细过程V3.1(图文并茂) 2 Oracle11gR2 RAC数据库安装准备工作2.1 安装环境介绍2.2 数据库安装软件 ...
- Linux系统CentOS6.2版本下安装JDK7详细过程
Linux系统CentOS6.2版本下安装JDK7详细过程 分类: Linux 2014-08-25 09:17 1933人阅读 评论(0) 收藏 举报 前言: java 是一种可以撰写 ...
- 重装系统后ORACLE数据库恢复的方法
如果我们的操作系统出现问题,重装系统后,ORACLE数据库应该如何恢复呢?下文就为您列举了两个重装系统后ORACLE数据库恢复的方法,供您参考. ORACLE数据库恢复的方法我们经常会用到,下面就为您 ...
- centos7.3 安装oracle 详细过程
centos7.3安装oracle详细过程1.下载Oracle安装包:linux.x64_11gR2_database_1of2.zip 和 linux.x64_11gR2_database_2of2 ...
- 电脑重装系统后如何恢复Mysql数据库
电脑重装系统后如何恢复Mysql数据库 一.[设置mysql的path]
- EFS加密解密----重装系统后
重装系统尤其是格式化重装系统之后,如果没有正确地备份私钥,那么加密的文件将无法打开,加密的文件也暂时没有办法进行快速破解. 并非重装后用相同用户名+密码就可以解密的. Advanced EFS Dat ...
- oracle 数据恢复,只有oradata文件夹里的文件,没有备份文件的数据库恢复,重装系统后,oracle 10g数据库恢复
格式化重装系统后,才想起来oracle 10g 数据库没有做备份,开始以为很麻烦,没想到数据库恢复的还挺顺利的 恢复方法: 1,把原来的数据库文件备份,(D:\oracle\product\10.2. ...
随机推荐
- vue-route开发注意事项
1.router-link to 动态赋值 router-link组件的to属性值有两种写法,字符串类型和对象类型 如果要动态传值,比如放到for循环中,传入for的index值,这时就必须使用对象形 ...
- CTF CMS(转)
CTF--CMS漏洞总结 海洋CMS 6.28 海洋CMS6.28命令执行漏洞 6.45-6.54 漏洞预警 | 海洋CMS(SEACMS)0day漏洞预警 8.8(未验证) 海洋cms前台到后台的g ...
- pyqt5设置背景图片出现问题
在使用pyqt5时,用qtdesign设置好背景图片,如何设置自行百度,预览没问题,用ptuic5转换为代码却发现显示不了: 首先:我在qtdesign中导入的是pic.qrc,但是转换的代码最后一句 ...
- 正则表达式在线分析 regex online analyzer
https://regexper.com/#%2F%5B0-9%5D%5Cs%5B0-9%5D%2F https://regexper.com/ http://regexone.com/lesson/ ...
- Windows上python2和python3共存
1.找到python2安装目录 2.将应用程序中的python重命名为python2,或自行定义. 3.为python2设置系统变量中的path变量.注意,记得加上英文的分号. 验证:输入python ...
- what's the RTP协议
what's the RTP RTP全名是Real-time Transport Protocol(实时传输协议).它是IETF提出的一个标准,对应的RFC文档为RFC3550(RFC1889为其过期 ...
- Linux下 导出postgrelSql 数据库
登陆postgrel su - postgres 进入postgrelsql 安装目录下的bin目录 cd/usr/pgsql-11/bin 执行导出命令 ./pg_dump -U username ...
- 【VS开发】MFC滑动条 CSliderCtrl
在MFC中滑动条(CSliderCtrl)是个常用的控件,用法如下: 主要要方法有: 1.设置.取得滑动范围: void SetRange( int nMin, int nMax, BOOL bRed ...
- sql 查找所有已经分配部门的员工
查找所有已经分配部门的员工的last_name和first_nameCREATE TABLE `dept_emp` (`emp_no` int(11) NOT NULL,`dept_no` char( ...
- node + promise 实现文件读写
const fs = require('fs'); const promise = new Promise((resolve, reject) => { fs.open('./c.txt ...