Cocoapods安装、使用

在iOS开发中,经常会使用到一些第三方库,例如AFNetwoking,MJRefresh等,如果我们都去手动导入的话,有时候还要进行配置非常麻烦,所以就是用Cocoapods让他来帮我们配置和管理第三方库。
网上有很多关于Cocoapods的使用教程,而且写得非常详细,但是我写的这篇,主要就是告诉大家使用,和自己学习的一个总结。下面开始来介绍

Cocoapods安装步骤:

1.升级Ruby环境

打开终端输入:$ gem update --system

如果出现:ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/ Gems/2.0.0 directory. 就更新Ruby

强制更新

$ sudo gem update —system

2.更新Ruby源

$ gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
$ gem sources -l
CURRENT SOURCES
https://gems.ruby-china.org
请确保只有 gems.ruby-china.org

3.安装Cocoapods

$ sudo gem install cocoapods
这个时候会提示你输入密码,注:在终端输密码不会有提 ,光标也不会移动。
第一次安装时间会比较长

如果报以下错误:
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/xcodeproj
解决办法:

终端输入:$sudo gem install -n /usr/local/bin cocoapods
pod setup

cocoapods安装路径是在~/.cocoapods文件夹里如果安装失败建议把这个文件里面的东西全部删除,重新安装

如果想查看下载进度的话,先到cocoapods文件夹下
$cd ~/.cocoapods
然后在终端输入:
$du -sh *
即可查看下载的文件大小。也就可以知道是网速不好,还是源不可用了。

安装成功后,你会看到:Setup completed


Cocoapods使用

1.创建podfile文件

使用时,先创建iOS工程,然后cd 到工程目录下,创建podfile文件
以前我们可以使用touch来创建,但是这样创建的没有格式,所以推荐使用pod init 或 pod vim(直接在终端进行编译操作)
终端输入:
$pod init

podfile文件创建
2.搜索版本号

当我们要使用某一个第三方库的时候,建议先搜索一下,查看版本号,和如何导入
终端输入:$pod search 第三方库名称

pod 搜索结果

输入"q"退出

3.编辑podfile文件

使用Xcode打开编辑,这里不建议使用文本编辑器,因为有时使用文本编辑器打开编辑或出现莫名其妙的错误。

输入要导入的第三方库和版本号(不填写版本号,默认导入最新的版本,建议填写防止以后三方库API替换)

pod 'AFNetworking', '~>3.1.0' 或 pod 'AFNetworking'

"#" 为注释
platform :ios, '9.0' 这里是支持的最低版本,建议与工程支持的最低版本一致
use_frameworks! 这行是确定pod安装完成后第三方是.a还是.framework,如果是.a的话在Swift中是不好引入的,所以建议要有这行代码

# Uncomment the next line to define a global platform for your project
platform :ios, '9.0' 

target 'ZhongJingUser' do
  # Uncomment the next line if you're using Swift or would like to use dynamic frameworks
  use_frameworks!

  # Pods for ZhongJingUser
#要导入的第三方库
pod 'AFNetworking', '~>3.1.0'

end
4.安装pod

输入完成后关闭,终端输入$ pod install
就会自动安装了

完成后工程目录

注意:完成后再打开项目的时候就要使用 白色的 工程名.xcworkspace来打开了 而不是 蓝色的 工程名.xcodeproj

补充:当我们要安装或更新podfile文件时建议用下面的命令,这样不会去影响以前的第三方库,从而提高执行效率

$ pod install --verbose --no-repo-update
$ pod update --verbose --no-repo-update

pod.lock文件是第一次pod就会自动生成的文件,描述当前导入的框架版本


搭建本地代码仓

pod lib create (你的库名称) XX

01 What platform do you want to use?? [ iOS / macOS ]
是创建一个 iOS 还是 macOS 的工程

02 What language do you want to use?? [ Swift / ObjC ]
使用 ObjC 还是 Swift 开放语言

03 Would you like to include a demo application with your library? [ Yes / No ]
是否导入一个实例程序就是俗称的 demo ,其实就是在这个 demo 上去安装你自己的私有库 然后测试你的私有库 ,一般选择No

04 Which testing frameworks will you use? [ Specta / Kiwi / None ]
是否选择一个测试的框架 ,一般选 None

05 Would you like to do view based testing? [ Yes / No ]
类似于 Xcode 自带的 UI Tests框架 笔者很少用,需要的可以输入 YES

06 What is your class prefix?
类前缀必须设置

本地项目文件

.podspec为pod配置文件
注意:“s.source”字段为项目远程路径(可以更换为本地路径)“s.source_files”字段为项目代码路径,项目代码一般存放在Classes文件夹下。
Example为示例程序,示例程序的Podfile文件路径默认为相对路径,也可更改为绝对路径。

示例程序的Podfile文件

2018年3月22日--记一次pod search失效解决办法

今天安装完pod之后,进行pod search的测试,结果一直报

Unable to find a pod with name, author, summary, or description matching 'AFNetwoking'

查找发现一般,我们在安装CocoaPods时会默认执行一下pod setup,但是这个会有可能出现安装失败,这就导致了pod search的失效。
解决办法
1.我们自己在手动执行一下 pod setup 命令
2.删除~/Library/Caches/CocoaPods目录下的search_index.json文件。
终端执行 rm ~/Library/Caches/CocoaPods目录下的search_index.json
然后再去执行pod search命令,这样会触发CocoaPods去寻找这个索引文件

2019年4月15日--记一次项目使用RAC

OC语言的项目使用
pod 'ReactiveObjC'
swift语言的项目使用
pod 'ReactiveCocoa'

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,076评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,658评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,732评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,493评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,591评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,598评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,601评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,348评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,797评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,114评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,278评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,953评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,585评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,202评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,442评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,180评论 2 367
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,139评论 2 352

推荐阅读更多精彩内容