CocoaPods安装和使用
CocoaPods是iOS最常用的第三方类库管理工具,绝大部分有名的开源类库都支持CocoaPods。
CocoaPods是用Ruby实现的,要想使用它首先需要有Ruby的环境。幸运的是OS X系统默认已经可以运行Ruby了,因此我们只需执行以下命令:
sudo gem install cocoapods
sudo gem install -n /usr/local/bin cocoapods
由于某些原因,执行时会出现下面的错误提示:
ERROR: Could not find a valid gem 'cocoapods' (>= 0), here is why:
Unable to download data from https://rubygems.org/ - Errno::EPIPE: Broken pipe - SSL_connect (https://rubygems.org/latest_specs.4.8.gz)
当你使用代理后如果还是很慢,可以用淘宝的RubyGems镜像来代替官方版本,执行以下命令:
$ gem sources -l
$ gem sources --remove https://rubygems.org/
$ gem sources -a https://ruby.taobao.org/
$ gem sources -a https://gems.ruby-china.org/
$ gem sources -l
安装成功后,接着执行命令:
pod setup
如果Ruby环境不够新,或安装时提示"ERROR: Error installing cocoapods:activesupport requires Ruby version >= 2.2.2."这样的错误,代表你的ruby需要更新了,需要更新一下:
sudo gem update --system
如果执行完上面的命令后,还是无法更新到较新的版本,则需要用rvm来更新,具体步骤如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | $ curl - L get.rvm.io | bash -s stable $ source ~/.bashrc $ source ~/.bash_profile #测试是否安装正常 $ rvm -v #查看当前ruby版本 $ ruby -v #列出已知的ruby版本 $ rvm list known #安装ruby 1.9.3 $ rvm install 1 . 9 . 3 |
至此安装就完成了,我们可以尝试搜索一个第三方类库:
pod search AFNetworking
使用CocoaPods的第一步,是在当前项目下,新建一个Podfile文件:
touch Podfile
然后利用vim打开Podfile文件编辑,加入你想要使用的类库,格式如下:
platform :ios
pod 'Reachability', '3.1.0'
platform:ios, '6.0'
pod 'JSONKit','1.4'
pod 'AFNetworking', '~> 2.3.1'
如果是拷贝的别人的项目,或是一个很久没打开过的项目,可能需要先执行一下:
pod update
最后一步,执行命令:
pod install
当终端出现类似下面的提示后,就代表成功了:
[!] From now on use `Sample0814.xcworkspace`.
这个时候会看到项目文件夹下多了一个文件xxx.xcworkspace,以后要通过这个文件打开项目,老项目文件xxx.xcodeproj不再使用。
P.s.1 上面的每一步都有可能出现问题,但大部分问题都是因为大局域网的原因,用一个网速稳定的境外VPN可破。
P.s.2 如果上面因为权限问题安装失败,必须每次都要删除
rm -rf /Users/loginnanme/Library/Caches/CocoaPods/
因为这个缓存中会存下你的github的东西,造成每次都调用上次权限问题的缓存。
P.s.3 关于Podfile文件编辑时,第三方库版本号的各种写法:
pod ‘AFNetworking’ //不显式指定依赖库版本,表示每次都获取最新版本
pod ‘AFNetworking’, ‘2.0’ //只使用2.0版本
pod ‘AFNetworking’, ‘>2.0′ //使用高于2.0的版本
pod ‘AFNetworking’, ‘>=2.0′ //使用大于或等于2.0的版本
pod ‘AFNetworking’, ‘<2.0′ //使用小于2.0的版本
pod ‘AFNetworking’, ‘<=2.0′ //使用小于或等于2.0的版本
pod ‘AFNetworking’, ‘~>0.1.2′ //使用大于等于0.1.2但小于0.2的版本,相当于>=0.1.2并且<0.2.0
pod ‘AFNetworking’, ‘~>0.1′ //使用大于等于0.1但小于1.0的版本
pod ‘AFNetworking’, ‘~>0′ //高于0的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本
P.s.4 当pod setup 进入Setting up CocoaPods master repo 等待的时候表示正在下载了,此时你可通过新开一个终端窗口,输入"cd ~/.cocoapods/"命令行跳到cocoapods文件夹内,执行"du -sh *"查看正在下载的文件夹的大小。
删除master分支 重新建立新的分支
sudo rm -fr ~/.cocoapods/repos/master
删除~/Library/Caches/CocoaPods目录下的search_index.json文件
pod setup
成功后,依然不能pod search
,是因为之前你执行pod search
生成了search_index.json,此时需要删掉。- 终端输入:rm ~/Library/Caches/CocoaPods/search_index.json
- 删除成功后,再执行
pod search
。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探秘 MySQL 索引底层原理,解锁数据库优化的关键密码(下)
· 大模型 Token 究竟是啥:图解大模型Token
· 35岁程序员的中年求职记:四次碰壁后的深度反思
· 继承的思维:从思维模式到架构设计的深度解析
· 如何在 .NET 中 使用 ANTLR4
· BotSharp 5.0 MCP:迈向更开放的AI Agent框架
· 分享 3 款基于 .NET 开源且免费的远程桌面工具
· 在线聊天系统中的多窗口数据同步技术解密
· 2025,回顾出走的 10 年
· 【保姆级教程】windows 安装 docker 全流程
2012-08-14 MOUSE_OVER/MOUSE_OUT与ROLL_OVER/ROLL_OUT的区别