cocoapods安装使用及报错处理
CocoaPods 的使用
常用 CocoaPods 命令:
$pod setup
将所有第三方的 Podspec 索引文件更新到本地的 ~/.CocoaPods/repos/ 目录下,更新本地仓库。
$pod repo update
执行 pod repo update 更新本地仓库,本地仓库完成后,即可搜索到指定的第三方库,作用类似 pod setup。不过这个命令经常不单独调用。比如执行 pod setup、pod search、pod install、pod update 会默认执行 pod repo update。
$pod search 开源库
查找某一个开源库。
$pod list
列出所有可用的第三方库,现在已经 2.4W+ 了,还在不断地增长。
$pod install
根据 Podfile.lock 文件中列举的版本号来安装第三方框架,如果一开始 Podfile.lock 文件不存在,就会按照 Podfile 文件中列举的版本号来安装第三方框架。
如果检查到当前三方库已经有的话,那就不会去下载了。
$pod install –-no-repo-update
安装开源库之前,不会执行 pod repo update 指令。
$pod update
将所有第三方框架更新到最新版本,并且创建一个新的 Podfile.lock 文件。
无论当前三方库是否在项目中已经存在,都会重新下载更新。
$pod update –-no-repo-update
更新开源库之前,不会执行 pod repo update 指令。
更多可点击:
链接:https://www.jianshu.com/p/83baebf049b8
=======
这一篇就够用了,其他待续...
17-12-22
使用CocoaPods
新建一个项目,名字 CocoaPodsDemo
终端中,“cd+空格” 到项目总目录(注意:包含PodTest文件夹、PodTest.xcodeproj、PodTestTest的那个总目录) eg: cd /Users/mac/Desktop/
建立Podfile(配置文件)
$ touch Podfile
终端输入 $ vim Podfile 回车键盘 输入 i,进入编辑模式
输入内容:.......
然后按Esc,并且输入“ :” 进入vim命令模式,然后在冒号后边输入wq
注意:键盘输入 :后,才能输入wq。回车 后发现CocoaPodsDemo项目总目录中多一个Podfile文件
最后终端输入 pod install,等待一会,就OK了。
注意:现在打开项目不是点击 CocoaPodsDemo.xodeproj了,而是点击 CocoaPodsDemo.xcworkspace
对于我们使用cocoapod引入的第三方,我们可以在podfile文件中 增加一句 inhibit_all_warnings! 来要pod的工程不显示任何警告
抑制警告
在podfile文件里面加上一行指令 。
inhibit_all_warnings!
inhibit_warnings参数能够有效的抑制CocoaPods引入的第三方代码库产生的warning。
可以全部指定。
我们可以指定全局不显示警告信息,也可以指定某一个库不显示警告信息:
pod 'SSZipArchive', :inhibit_warnings => true // 指定不显示某个库的警告信息
vi的命令(在终端操作):
在默认的"指令模式"下按 i 进入编辑模式
在非指令模式下按 ESC 返回指令模式
在"指令模式"下输入:
:w 保存当前文件
:q 退出编辑,如果文件为保存需要用强制模式
:q! 强制退出不保存修改
:wq 组合指令, 保存并退出
project
如果没有显示的project被指定,那么会默认使用target的父target指定的project作为目标。如果如果没有任何一个target指定目标,那么就会使用和Podefile在同一目录下的project。
pod
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的版本
pod 'AFNetworking', '~>0.1' //使用大于等于0.1但小于1.0的版本
pod 'AFNetworking', '~>0' //高于0的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本
其他:
http://www.jianshu.com/p/581c591cf16c
升级:
具体过程
查看当前的cocoapods版本,便于之后查看升级升级是否成功
pod --version
升级命令,输入完成命令回车之后需要输入mac当前登录账户的密码
sudo gem install cocoapods
升级命令结束之后再次查看一下cocoapods的版本
pod --version
18 - 5 - 17
报错补充:
ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
解决方法:只需要在命令前加上sudo,例如:sudo gem install cocoapods即可。sudo是获取管理员权限,现在按照步骤输入管理员密码即可。
$ pod setup
Setting up CocoaPods master repo
[!] /usr/bin/git clonehttps://github.com/CocoaPods/Specs.git master
Cloning into ‘master’…
error: RPC failed; curl18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
解决方法:上面错误主要是os10.11+和cocoapods1.0+版本升级的安全机制更改造成的。主要出现在pod setup过程中。且该过程等待时间非常长,所以,你可以在$sudo gem install -n /usr/local/bin cocoapods命令后直接执行$Git clone https://git.coding.net/CocoaPods/Specs.git ~/.cocoapods/repos/master 该过程作用与 pod setup作用相同,作者亲测。效果极佳!!!!
报错:
RPC failed; curl 18 transfer closed with outstanding read data remaining
这种错误一般出现在 pod setup 过程。
解决办法:
xiuxinxiuxing$ git config --global http.postBuffer 524288000
xiuxinxiuxing$ git config --list
然后再执行 pod setup