CocoaPods
简介:
1、CocoaPods是一个第三方框架管理工具,可以统一管理APP里第三方框架的下载、更新、卸载。
2、CocoaPods使用Ruby语言搞定的
3、在终端里敲指令来用它
4、由于gem的源是国外的,很慢,所以要更换源,就要先删掉原来的源
5、如果发现CocoaPods装不了,升级一下gem包试试
安装:指令示例复制括号里面的
1、删除国外比较慢的源
(gem sources --remove https://rubygems.org/)
2、更换国内比较快的源
(gem sources -a https://ruby.taobao.org/)。
错误1、以前时http://ruby.taobao.org/,现在换成hippos了,否则报错:
3、检测当前的源
(gem sources -l)
4、升级gem
(sudo gem update --system)
解释:sudo是管理员权限,因为安装东西是需要管理员权限的
5、安装CocoaPods(最新mac系统10.11.3安装方法)
(sudo gem install -n /usr/local/bin cocoapods --pre)
错误2:用(sudo gem install cocoapods)安装会报错:
6、初始化CocoaPods(较慢的话,可以第7步,更换repo镜像为国内服务器)
非常慢,可以直接跳过这一步去第七步
(pod setup)
将网络上的第三方框架的信息下载到本机上
需要第三方框架支持CocoaPods才能下载到本机上:可以去github上查看,例如:
有这个文件就说明该框架开发者已经创建了这个文件,并且以上传到CocoaPods服务器,CocoaPods才能下载它 , 就可以利用CocoaPods来管理这 个框架了。
7、更换repo镜像为国内服务器
7.1删掉以前的仓库
(pod repo remove master)
7.2添加新的仓库
(pod repo add master https://gitcafe.com/akuandev/Specs.git)
8、第一步下载完仓库源后要安装仓库源
(pod setup)
9、以后在更新第三方库信息就不用set up了,因为setup还要做很多初始化操作,只需要 pod repo update 就可以了(仅仅更新第三方框架)
(pod repo update)
10、验证是否装好了:看能不能搜框架 pod search xxx(框架名)
(pod search XX)xx代表框架名
使用:
1、新建一个工程,在关闭
2、在终端里敲 cd,把新建的项目文件夹拖到cd后面
终端停留在当前文件夹。可已通过(ls -l)看一下
3、新建一个文件,指令:vim Podfile(touch Podfile 也行,注意大小写,通过touch创建的不能直接编辑,还得双击打 开,所以一般用vim那个)。新建这个文件的目的是要告诉CocoaPods我这个工程里需要用到哪些框架。
(vim Podfile)
3.1 编辑新建的文件。敲个i,编程insert模式
3.2 输入 platform空格:ios逗号,空格’8.0’敲回车(告诉它应用的平台,是ios平台,固定语法。不能有中文符号。单引号里是版本号,好让CocoaPods找到框架看是不 是支持现在的系统版本)
指令例子,用的话复制括号里的(platform :ios, ‘8.0’)唯一可以改动的地方是版本号
(platform :ios, '8.0')
3.3 输入框架名字,pod空格单引号‘SDWebImage’。框架的名字不能乱写,要在终端里能搜得到,以这个名字为准
继续添加,继续上一行代码
指令例子,用的话复制括号里的(pod ‘SDWebImage’)(这样下载的是最新版本)
(pod 'SDWebImage')
3.3.1 如果要指定框架版本的话。(pod ‘SDWebImage’, ‘~> 2.0’)
(pod 'SDWebImage','~> 2.0')
错误3:(pod 'SDWebImage','~> 2.0'):is not used in any concrete target.出这个错是告诉我们我们所用的库没有指定target,它不知道用 在哪里,所以就给报错了,cocoapods官网是这样给推荐的: 在创建Podfile的时候,用这种格式使用,
platform :ios, '8.0'
use_frameworks!
target 'MyApp' do
pod 'AFNetworking', '~> 2.6'
pod 'ORStackView', '~> 3.0'
pod 'SwiftyJSON', '~> 2.3'
end
把里面的 MyApp 记得替换为自己攻城里面的target(去工程的target那里把工程名字粘贴过来就好了)。这样就OK了,执行pod install / pod update 就都可以了。
3.4 设置好后,敲键盘esc键,:冒号wq 退出保存。
可以open ./打开当前文件看看有没有这个文件
可以cat Podfile查看文件内容
4、终端直接敲pod install,他就会解析你的Podfile文件,根据这个文件下载框架
(pod install)
5、如果想修改这个Podfile文件了,就vim Podfile,i,insert模式,修改。
6、以后再打开项目就直接打开工作空间就可以了。里面多了一个pods文件夹,里面放着所有第三方框架
7、在工程里使用第三方框架时,导入头文件就要用<>了,不能再用“”了。
//SDWebImage路径下的某个文件
#import <SDWebImage/UIImageView+WebCache.h>
8、添加新框架在就工程里想添加新框架就直接改Podfile文件,再pod install一下就可以了
错误结局:正常使用后出现莫名其妙的问题
1、更新升级gem试一下
2、再装一下sudo gem install -n /usr/local/bin cocoapods --pre在试一下
3、初始化第三方信息库 pod setup 试一下
cocoapods插件的使用
1、运行一边cocoapods-xcode-plugin-master
2、新建工程。
3、Product —> CocoaPods —> Creat/Edit Podfile
4、编辑完Creat/Edit Podfile,command+s保存。
5、Product —> CocoaPods —> install pods
xcode插件创建的potfile文件也要严格使用这种格式!包裹target名称要是项目的名称
platform :ios, '8.0'
use_frameworks!
target 'podlhb' do
pod 'SDWebImage'
pod 'Masonry'
end