CocoaPod的使用

开发 iOS 项目不可避免地要使用第三方开源库,CocoaPods 的出现使得我们可以节省设置和更新第三方开源库的时间,下面简单的介绍下安装与使用。

安装CocoaPods

安装方式异常简单 , Mac 下都自带 ruby,使用 ruby 的 gem 命令即可下载安装:

 $ sudo gem install cocoapods

通常会出现下面这个错

ERROR:  Could not find a valid gem 'cocoa' (>= 0), here is why:
Unable to download data from https://rubygems.org/ -     Errno::ECONNRESET: Connection reset by peer - SSL_connect (https://rubygems.org/latest_specs.4.8.gz)

另外,ruby 的软件源 https://rubygems.org 因为使用的是亚马逊的云服务,所以被墙了,需要更新一下 ruby 的源,使用如下代码将官方的 ruby 源替换成国内淘宝的源:

$gem sources --remove https://rubygems.org/
$gem sources -a https://ruby.taobao.org/
$gem sources -l  

然后再重试

 $ sudo gem install cocoa pods

假如又遇到这个错
Operation not permitted - /usr/bin/fuzzy_match

可以

$ sudo gem install -n /usr/local/bin cocoapods
$ pod setup  
这一步 pod setup可能会等很久,请耐心等待,1个小时内正常

如果你的 gem 太老,可能也会有问题,可以尝试用如下命令升级 gem:

 $sudo gem update --system

还有一点需要注意,pod setup在执行时,会输出Setting up CocoaPods master repo,但是第一次会等待比较久的时间。这步其实是 Cocoapods 在将它的信息下载到 ~/.cocoapods目录下,如果你等太久,可以试着 cd 到那个目录,用du -sh *来查看下载进度

使用CocoaPods

第一步创建 Podfile 文件,在需要使用文件目录下

 $ vim Podfile

第二步 导入您所需要的第三方库

platform :ios, '8.0'
use_frameworks!
target 'MyApp' do 
pod 'AFNetworking', '~> 3.0' 
pod 'SwiftyJSON', '~> 2.3'
end

当然MyApp转换成你个人项目的名字啦

注意iOS8.0之后,可以增加的动态库了(以前只能是静态库的),为了匹配动态库,增加了

use_frameworks!

所以我们很多时候都需要加入这句啦

第三步 编译后既可以用了

 pod install

第四步 注意的地方

1、使用 CocoaPods 生成的 .xcworkspace 文件来打开工程,而不是以前的 .xcodeproj 文件。
2、每次更改了 Podfile 文件,你需要重新执行一次pod update命令。
3、需要查找你所需要的第三方库,直接 pod search 即可。
4、不要轻易改动项目里面pod文件里的东西。

可能遇到的问题

1、pod install的时候无限卡在Updating local specs repositories

 可以使用 pod install --no-repo-update

2、出现下面这个错误的时候,可能是系统升级后的原因

ERROR:  Could not find a valid gem 'cocoapods' (>= 0), here is why:
      Unable to download data from https://rubygems.org/ - Errno::ETIMEDOUT: Operation timed out - connect(2) (https://rubygems.org/latest_specs.4.8.gz)
ERROR:  Possible alternatives: cocoa pods

此时需要您重新 pod setup一下,当然上面的那个错,首先你必须先切换官方源啦,就是上文提到的切换到淘宝源(注意是https://ruby.taobao.org/ 因为以前没有s的)就好啦

3、出现下面这种提示


屏幕快照 2015-10-09 上午9.37.40.png

这样其实代表可以用了,也可以升级升级方法:

sudo gem install -n/user/local/bin cocoapods

4、pod inatall 出现下列问题

- Use the `$(inherited)` flag, or
- Remove the build settings from the target.

则我们需要在Finder中找到项目的项目名.xcodeproj,显示报内容,然后搜OTHER_LDFLAGS,然后你遇到了与之相关的删除即可。

 OTHER_LDFLAGS = "";
  或
<key>OTHER_LDFLAGS</key>  
<string></string>  

5、 CocoaPods报错:The dependency AFNetworking is not used in any concrete target

是在创建的Podfile的时候,需要按格式创建,不能像以前那样的原始方法啦。

platform :ios, '8.0'
use_frameworks!
target 'MyApp' do 
pod 'AFNetworking' 
pod 'SwiftyJSON'
end

6、提示 file not found 的时候

那么我们可以尝试这么引入,以“Masonry”举例,:#import "Masonry.h"或者通过#import "Masonry/Masonry.h"
如果仍然没有效果,那么需要在工程配置一下.在工程的Build Settings搜索Search Paths,然后在User header search paths中添加$(SRCROOT)并且选择recursive。

$(SRCROOT)
参考的链接

http://www.devtang.com/blog/2014/05/25/use-cocoapod-to-manage-ios-lib-dependency/
http://my.oschina.net/w11h22j33/blog/206129

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

推荐阅读更多精彩内容