文档章节

cocopods 安装使用文档

s
 sj1910
发布于 2016/06/16 21:41
字数 1759
阅读 22
收藏 0
点赞 0
评论 0

一、什么是CocoaPods

 

开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和第三方开源库的时间。

 

在使用CocoaPods之前,开发项目需要用到第三方开源库的时候,我们需要
1.把开源库的源代码复制到项目中
2.添加一些依赖框架和动态库
3.设置-ObjC,-fno-objc-arc等参数
4.管理他们的更新
在使用CocoaPods后,我们只需要把用到的开源库放到一个名为Podfile的文件中,然后执行pod install.Cocoapods就会自动将这些第三方开源库的源码下载下来,并且为我们的工程设置好响应的系统依赖和编译参数。

二、CocoaPods的原理

CocoaPods的原理是将所有的依赖库都放到另一个名为Pods的项目中,然后让主项目依赖Pods项目,这样,源码管理工作都从主项目移到了Pods项目中。Pods项目最终会编译成一个名为libPods.a的文件,主项目只需要依赖这个.a文件即可。

三、CocoaPods的安装

注:如果有人已经安装好了CocoaPods,前往文件夹  ~/.cocoapods  直接把文件夹拷贝过来就可以了,不需要自己再安装

1.打开终端输入命令:点击Finder->应用程序->实用工具->终端.app      
2.移除现有Ruby默认源(这个现有的使用需要翻墙)  
gem sources --remove https://rubygems.org/
3.使用新的源     
gem sources -a https://ruby.taobao.org/
4. 验证新源是否替换成功         
gem sources -l
如果出现下面情况  
*** CURRENT SOURCES ***
http://ruby.taobao.org/
http://ruby.taobao.org
https://ruby.taobao.org/  有这句话就证明替换成功,
使用下面两句命令把第一个和第二个镜像删除掉                      
gem sources --remove http://ruby.taobao.org/
gem sources --remove http://ruby.taobao.org

5.安装CocoaPods(这一步才是真正安装)
(1)备注:苹果升级为OS X EL Capitan改为
sudo gem install -n /usr/local/bin cocoapods 以前版本为sudo gem install cocoapods(查看自己苹果系统版本进行选择)
此步过后会让输入密码,进行盲输密码
输入密码之后,终端会自己进行一些系统配置,需要等待一段时间
xxxxxxxxx:~ xxxxxx$(出现自己电脑用户名的时候,进行下一步)

{
为了保证安全,如果之前安装过
gem list查看cocoa pod之前安装过的版本
1>.先查看CocoaPods的信息:gem list(如果此前已经安装过,我们只需要留下一个版本)
2>.找到CocoaPods相关的安装文件信息,利用命令sudo gem uninstall

3>.如果有多余版本,删除cocoapods(对应名称) -v 0.39.0(对应版本)
}

继续按步骤操作
以下是验证CocoaPods是否能够使用(这里最好重新建一个终端,既方便查看,又方便后面使用,新建一个终端:command + n)
在新的终端里操作输入 pod search sdwebimage(第三方名称,可以不区分大小写)
pod search sdwebimage(第三方名称,可以不区分大小写),如果显示相关内容,证明可以使用。如果第三方软件比较大,比如;sdwebimage,这个步骤会比较费时,
(如果要查看设置的进度:(因为要下载的东西很多,所以看一下进度)
再新建一个终端:command + n // 这个终端只查看下载进度;注意:小技巧:上下左右四个方向箭头,按一下向上键,会出现上一次输入的命令,再直接回车
进入Cocoapods里:cd ~/.cocoapods
查看进度:du -sh *  )


pod search afnetworking 终端命令,是否支持第三方,如果没有安装成功会显示
bash: pod: command not found 命令无效    
control + c   停止终端命令    
(2) pod setup 更新(可以省略)此步需要等待的时间很长,与网速有关
6.更新gem(可选,一般不操作此步)
sudo gem update --system  

四、使用cocopods导入第三方步骤


1.某个工程需要使用cocopods需要找到该工程文件夹
在终端输入 cd 空格 工程文件夹路径(直接把该工程文件夹拖到终端里)
2.vim podfile (cocopods安装第三方的时候,需要读取这个文件夹,文件夹里面有几个第三方就会装几个),必须在该工程路径下操作


3.进入vim之后,先输入 i 进入编辑状态,才能进行输入终端命令
输入要安装的第三方(进入pod search时新建的终端里)找到 pod ‘xxx’ ‘~>版本型号’ 注意:这部不需要回车,进行第4步

进入pod search时新建的终端里


4.退出:先按ESC键,退出编辑状态(等待状态)
如果想要在进入编辑状态 再按 i
如果想要进入终端命令状态按 shift +:(必须在等待状态时候输入)
输入shift +: 下方会出现 : 等待输入命令
w 保存,但不退出
q 退出,但不保存
wq 保存退出


5.如果成功,该工程文件夹路径下会有一个podfile文件,可以点击进入编辑


6.务必在不要关闭终端,接着刚才的终端去写,也就是在该工程路径下继续输入终端命令,进行安装第三方
安装哪些第三方,是刚才在vim podfile设置的
pod install(每次安装都会检查新的版本)
pod install --verbose --no-repo-update (安装不坚持新版本,直接安装)一般用这行代码,不用上一行
如果安装不成功,点开工程文件夹中podfile,输入以下格式


platform :ios, '8.0'
target ‘工程名’ do
pod 'AFNetworking', '~> 3.1.0'
end

工程名确保正确


然后command + s 保存
再次输入执行 pod install --verbose --no-repo-update 这条命令(大概要执行半分钟到一分钟,以出现电脑用户名为结束标志,)

安装成功

打开该工程文件夹,会多出下面几个文件

进入工程时从新出来的cworkspace文件里进入,不再用以前的Xcodeproj


7.删除第三方
直接在工程里的pod file文件中删除一个第三方,然后来到该工程路径下重新执行pod install --verbose --no-repo-update命令
8.添加第三方

进入终端里操作输入 pod search sdwebimage(第三方名称,可以不区分大小写)
直接在工程里的pod file文件中添加一个第三方,然后来到该工程路径下重新执行pod install --verbose --no-repo-update命令


9.更新第三方
在工程里的pod file文件中,把老版本的配置删除掉,添加新版本之后,来到该工程路径下重新执行pod install --verbose --no-repo-update命令

 

© 著作权归作者所有

共有 人打赏支持
s
粉丝 0
博文 4
码字总数 9171
作品 0
南京
程序员
cocopods的安装

第一步:安装cocoapods. 在终端进行操作 cocoapods 管理第三方框架的工具 1. 安装 a. 查看源 gem sources -l b. 删除源:这个源不能用,所以要设置淘宝的源 sudo gem sources -r https://ruby...

我爱觉觉 ⋅ 2015/09/20 ⋅ 0

cocopods升级到1.0,导入第三方库,出现问题及解决方式

cocopods升级到1.0,导入第三方库,出现问题及解决方式 一,CocoaPods版本升级(0.35.0升级至1.0) CocoaPods版本升级那些坑 二,CocoaPods升级成功,项目升级问题及解决 -问题一、 项目当你初...

法斗斗 ⋅ 2016/07/08 ⋅ 0

将多个三方库打包成一个动态库

一.目的 项目里有A.B.C三个库的时候. 想用cocopods集成三方库. 就需要每个库都通过cocopods来集成. 个人强迫症.感觉很不爽. 最后看见大神的一个做法. (1) 新建一个静态库. (2) 让这个GXPodLi...

Sunxxxxx丶 ⋅ 2017/09/04 ⋅ 0

CocoaPods安装和使用教程

目录 CocoaPods是什么? 如何下载和安装CocoaPods? 如何使用CocoaPods? 场景1:利用CocoaPods,在项目中导入AFNetworking类库 场景2:如何正确编译运行一个包含CocoPods类库的项目 CocoaP...

浅唱那回忆 ⋅ 2014/08/08 ⋅ 0

CocoaPods安装和使用及问题:Setting up CocoaPods master repo

目录 CocoaPods是什么? 如何下载和安装CocoaPods? 如何使用CocoaPods? 场景1:利用CocoaPods,在项目中导入AFNetworking类库 场景2:如何正确编译运行一个包含CocoPods类库的项目 CocoaP...

whj ⋅ 2014/03/07 ⋅ 1

CocoaPods安装和使用教程

Code4App 原创文章。转载请注明出处:http://code4app.com/article/cocoapods-install-usage 目录 CocoaPods是什么? 如何下载和安装CocoaPods? 如何使用CocoaPods? 场景1:利用CocoaPods...

嘻哈开发者 ⋅ 2014/10/15 ⋅ 0

cocoapods安装和使用,教程,经验

目录 CocoaPods是什么? 如何下载和安装CocoaPods? 如何使用CocoaPods? 场景1:利用CocoaPods,在项目中导入AFNetworking类库 场景2:如何正确编译运行一个包含CocoPods类库的项目 场景3:...

HillYoung ⋅ 2015/03/09 ⋅ 0

iOS设置夜间模式

有一个很好用的第三方库:DKNightVersion使用也特别方便,在这只是简单的记录一下,详细用法还请参考官方文档: 前提:利用cocopods或者手动将DKNightVersion拖入到工程 用法: 1、导入头文件...

hungryBoy ⋅ 2016/05/31 ⋅ 0

CocoaPods 安装和使用教程

用淘宝镜像像下载安装: $ gem sources --remove https://rubygems.org///等有反应之后再敲入以下命令$ gem sources -a https://ruby.taobao.org/ 为了验证你的Ruby镜像是并且仅是taobao,可...

Jack088 ⋅ 2015/05/26 ⋅ 0

city/LYPaymentField

LYPaymentSecurityField 目录Table of Contents 介绍 Introduction 截屏 Screenshots 动态演示 Dynamic presentation 安装方式 Installation 用法 Usage 后期计划 TODO 介绍 Introduction L......

city ⋅ 2017/11/02 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

CENTOS7防火墙命令记录

安装Firewall命令: yum install firewalld firewalld-config Firewall开启常见端口命令: firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --zone=public --add-po......

cavion ⋅ 59分钟前 ⋅ 0

【C++】【STL】利用chromo来测量程序运行时间与日志时间打印精确到微秒

直接上代码吧,没啥好说的。头疼。 #include <iostream>#include <string>#include <ctime>#include <sstream>#include <iomanip>#include <thread>#include <chrono>using ......

muqiusangyang ⋅ 今天 ⋅ 0

Mac环境下svn的使用

在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境。在Mac环境下,由于Mac自带了svn的服务器端和客户端功能,所以我们可以在不装任何第三方软件的前提下使用svn功能,不过还需做一下简...

故久呵呵 ⋅ 今天 ⋅ 0

破解公司回应苹果“USB限制模式”:已攻破

本周四,苹果发表声明称 iOS 中加入了一项名为“USB 限制模式”的功能,可以防止 iPhone 在连接其他设备的时候被破解,并且强调这一功能并不是针对 FBI 等执法部门,为的是保护用户数据安全。...

六库科技 ⋅ 今天 ⋅ 0

MyBtais整合Spring Boot整合,TypeHandler对枚举类(enum)处理

概要 问题描述 我想用枚举类来表示用户当前状态,枚举类由 code 和 msg 组成,但我只想把 code 保存到数据库,查询处理,能知道用户当前状态,这应该怎么做呢?在 Spring 整合MyBatis 的时候...

Wenyi_Feng ⋅ 今天 ⋅ 0

synchronized与Lock的区别

# <center>王梦龙的读书笔记第一篇</center> ## <center>-synchronized与Lock的区别</centre> ###一、从使用场景来说 + synchronized 是能够注释代码块、类、方法但是它的加锁是和解锁使用一......

我不想加班 ⋅ 今天 ⋅ 0

VConsole的使用

手机端控制台打印输出,方便bug的排查。 首先需要引入vconsole.min.js 文件,然后在文件中创造实例。就能直接使用了。 var vConsole = new VConsole(); vConsole的文件地址...

大美琴 ⋅ 今天 ⋅ 0

Java NIO之字符集

1 字符集和编解码的概念 首先,解释一下什么是字符集。顾名思义,就是字符的集合。它的初衷是把现实世界的符号映射为计算机可以理解的字节。比如我创造一个字符集,叫做sex字符集,就包含两个...

士别三日 ⋅ 今天 ⋅ 0

Spring Bean基础

1、Bean之间引用 <!--如果Bean配置在同一个XML文件中,使用local引用--><ref bean="someBean"/><!--如果Bean配置在不同的XML文件中,使用ref引用--><ref local="someBean"/> 其实两种......

霍淇滨 ⋅ 今天 ⋅ 0

05、基于Consul+Upsync+Nginx实现动态负载均衡

1、Consul环境搭建 下载consul_0.7.5_linux_amd64.zip到/usr/local/src目录 cd /usr/local/srcwget https://releases.hashicorp.com/consul/0.7.5/consul_0.7.5_linux_amd64.zip 解压consu......

北岩 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部