[cocoaPods]cocoaPods安装与使用
来源:互联网 发布:docker安装ubuntu镜像 编辑:程序博客网 时间:2024/05/20 21:42
cocoaPods使用异常 2016.07.27更新
最近将macOS系统升级到Capitan后,发现原来cocoaPods的所有功能都不能够使用了,出现如下问题:
ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/pod
原因
原因是Capitan全面开启了 System Integrity Protection (SIP) —— 系统完整性保护技术,因此进行一些受保护的文件目录下的读写不被允许。
解决方法:
- 重新启动系统,按住Option键→选择RecoveryHD(或者按住cmd+R)
- 进入系统后,启动Terminal,输入如下代码,临时关闭SIP,在安装完成后在开启SIP
关闭SIP:csrutil disable开启SIP:csrutil enable
- El Capitan 中 SIP 介绍
- 如何关闭OSX 10.11 SIP (System Integrity Protection)
之前使用库一般是直接从github上面clone下来,迁移到项目中去,但是当使用的第三方库太多的时候,就难以管理了。比如库升级版本、删除添加库等。cocoaPods是解决该问题的绝佳帮手。实习的时候就体验过了。但是期间也遇到了诸多使用问题,在此总结要点,以备后面查看。
安装
打开terminal,输入下面代码,然后就开始安装了
sudo gem install cocoapods
然而也许你会遇到下面的问题
ERROR: Could not find a valid gem 'cocoapods' (>= 0), here is why:Unable to download data from https://rubygems.org/ - Errno::ECONNREFUSED: Connection refused - connect(2) (https://rubygems.org/quick/Marshal.4.8/cocoapods-0.37.2.gemspec.rz)ERROR: Possible alternatives: cocoapods
这是你就需要更改一下rubygems的服务器地址,因为其源地址https://rubygems.org/ 使用亚马逊云服务被墙了,taobao就弄了一个rubygems的镜像,terminal敲入如下代码
gem sources --remove https://rubygems.org/gem sources -a http://ruby.taobao.org/
你可以用如下语句查看软件源的地址
gem sources -l
也许你的gem太老了,那就需要升级一下gem
sudo gem update --system
安装好cocoaPods后,你就可以pod setup把第三方库的镜像索引下载到本地啦
pod setup
这里有点小技巧,你可以通过如下代码查看pod setup的下载进度
cd ~/.cocoapodsdu -sh *//每次执行会输出已下载的文件大小229M repos
但是也许你等了许久,大小还是丝毫不动,这时候你就要考虑换一下cocoaPods的镜像源了,默认情况所有的Podspec的文件都托管在https://github.com/CocoaPods/Specs 上,后来有个开发者在oschina(gitcafe那个镜像源笔者在安装的时候已经不在了)建立了cocoaPods索引库镜像。国内的服务器当然会更快些,请执行如下操作
pod repo remove masterpod repo add master http://git.oschina.net/akuandev/Specs.gitpod repo update
然而笔者在安装的时候还是遇到了如下问题,关键是网上还没有类似的情况,查了下什么http 504是网关问题,有可能网络服务器不响应,也有可能是电脑设置了代理。
[!] /usr/local/bin/git clone http://git.oschina.net/akuandev/Specs.git masterCloning into 'master'...error: RPC failed; result=22, HTTP code = 504fatal: The remote end hung up unexpectedly
于是换网络,接着做了如下操作
1. 还原mac网络配置,查了老半天只能恢复出厂设置,在不知道如何正确还原网络设置的情况下,我想起breakwall有个还原网络设置的功能,于是就求助于它。
2. 然并卵,接着又觉得会不会是git没有配置错误的问题,于是重新进行git的ssh-key配置
是的,经过上述折腾,我总算是terminal在刷刷刷得输出了,也许真的是因为网络问题呢T_T,直到输出Setup completed就安装完成
Setting up CocoaPods master repoUpdating da613df..1e43f0dFast-forward......Checking out files: 100% (1311/1311), done.Setup completed
然后你就可以执行以下语句看看是否有结果了
pod search AFNetworking
使用
首先你要为你的项目创建一个Podfile文件,记住该文件没有拓展名,你要cd 进你的项目目录,vi Podfile,如果有文件系统会帮你打开,如果没文件系统会帮你创建一个新文件,按“i”键进入insert模式
cd 项目目录(比如~/documents/workspace/VRPVisual)vi Podfile
关于vi是linux下面的命令,你可以参考《 Linux vi命令 创建文件》
现在可以输入文件内容了,比如下面,具体语法如何,请参考《the Podfile》
platform :iospod 'SVProgressHUD'pod 'JSONKit', '~> 1.4'
假如你不知道第三方库的版本,你可以执行查询语句
pod search 第三方库名
好了,这时候你需要按下”esc”键,退出输入模式,按“:wq”保存退出或“:q!”不保存强制退出,你就可以看到项目文件加下面多了一个Podfile文件,这时你可以执行下面语句加载第三方库了(要在项目下有Podfile文件的文件夹中执行)
pod install//每次在修改Podfile文件后需要执行一次pod update
这时你需要打开项目中的 .xcworkspace 后缀文件,然后你就会发现xcode项目导航栏中出现了pod的文件夹,大功告成!
贡献
你也可以把你牛逼的代码分享给cocoaPods,这里有个教程贴《如何将你的iOS代码分享到CocoaPod进行管理》、《Making a CocoaPod》
参考文章:
http://blog.devtang.com/blog/2014/05/25/use-cocoapod-to-manage-ios-lib-dependency/
- [cocoaPods]cocoaPods安装与使用
- cocoapods安装与使用
- CocoaPods 安装与使用
- cocoapods 安装与使用
- cocoapods安装与使用
- cocoaPods安装与使用
- cocoapods安装与使用
- CocoaPods 安装 与 使用
- CocoaPods安装与使用
- cocoapods安装与使用
- Cocoapods 安装与使用
- Cocoapods安装与使用
- CocoaPods安装与使用
- CocoaPods安装与使用
- CocoaPods安装与使用
- Cocoapods安装与使用
- Cocoapods安装与使用
- cocoapods安装与使用
- Unix网络编程——简介
- iOS 支付宝支付
- Power长按、组合键分析
- Conversion to Dalvik format failed: Unable to execute dex
- 安装MAC10.9VMWARE虚拟机
- [cocoaPods]cocoaPods安装与使用
- UIViewContentMode各模式的含义和效果
- html
- Objective-C关联引用
- Swift 2.0 学习第1天:常量和变量, 数据类型,字符和字符串
- 关于代码中写注释,你不得不知道的那些事儿
- Python学习笔记之---如何使用Python操作window窗口
- bee: command not found
- opencv:边缘特征