文档章节

iOS 最新版的 CocoaPods 安装流程

琳小兮
 琳小兮
发布于 2016/06/17 21:21
字数 1712
阅读 443
收藏 2

首先打开终端:(Launchpad-其他-终端)在终端中输入如下指令:

1.移除现有Ruby默认源
$gem sources --remove https://rubygems.org/
2.使用新的源
$gem sources -a https://ruby.taobao.org/
3.验证新源是否替换成功
$gem sources -l

4.更新gem
$sudo gem update --system
5.安装CocoaPods
(1) $sudo gem install cocoapods
备注:如果苹果系统升级OS X EL Capitan版本后改为 $sudo gem install -n /usr/local/bin
(2) $pod setup
提示:如果终端一直停留在 Setting up CocoaPods master repo 这个状态,是因为要进行下载安装,而且目录比较大,需要耐心等待一下。
6. 新建工程,并在终端用cd指令到文件夹内(具体操作:终端输入cd+空格+工程文件夹直接拖拽到终端+回车)
$pod search 第三方名字 例如:pod search 'AFNetworking' (退出搜索按 :wq )
7.新建文件 vim “Podfile”,
vim Podfile
写入以下内容并保存 提示:(终端vim文件 按 i 可编辑 ,esc 退出编辑(如果esc没反应,control+c也可以退出编辑状态),退出编辑模式以后按 :wq 回车 可保存并退出podfile)

platform:ios,'7.0'
pod 'AFNetworking','~>3.1.0'

//如果需要添加多个库,只需要依次添加即可

platform:ios,'7.0'
pod 'AFNetworking','~>3.1.0'
pod 'MJRefresh','~>3.1.9'

备注:platform那一行,ios三个字母都要小写,而且与前面的冒号之间不能有间隔,后面的版本号也可以不写,但是有些开源库对版本是有要求的,比如要在6.0以上才能运行,遇到这样的开源库就需要写上版本号
8.安装podfile文件里面所添加的库
pod install
9.退出终端

使用方法:

1.从此以后需要使用Cocoapods生成的 .xcworkspace文件来打开工程,而不是使用以前的.xcodeproj文件
2.每次更改了Podfile文件,都需要重新执行一次pod update命令

备注:当执行pod install之后,除了Podfile,还会生成一个名为Podfile.lock的文件,它会锁定当前各依赖库的版本,之后即使多次执行pod install也不会更改版本,只有执行pod update才会改变Podfile.lock.在多人协作的时候,这样可以防止第三方库升级时候造成大家各自的第三方库版本不一致。所以在提交版本的时候不能把它落下,也不要添加到.gitignore中.

1).CocoaPods报错: The dependency 'xxx' is not used in any concrete target
出现这个错误的原因是因为 cocoaPods升级后,Podfile文件的内容格式要求发生了变化,必须指出所用第三方库的target。解决方法如下:

1.检查CocoaPods的版本(目前最新版本是1.0.1,若是最新版本,直接进入步骤3)

$pod --version

2.升级或安装最新版本

升级命令:$sudo gem update -n /usr/local/bin --system

安装命令:$sudo gem install -n /usr/local/bin cocoapods

3.修改Podfile的内容(一定要cd在当前需要修改的工程下,再进入podfile文件)

$vim Podfile

进入podfile文件以后,下面紫色部分就是需要添加的部分,意思就是在Podfile文件中指出使用第三方库的target,不明白的就对照上面的第7步看看区别吧!

platform:ios, '7.0'

target:工程名字 do

pod 'AFNetworking', '~> 3.1.0'

end

2).[!] Oh no, an error occurred.

It appears to have originated from your Podfile at line 2.

Search for existing GitHub issues similar to yours:
https://github.com/CocoaPods/CocoaPods/search?q=%2FUsers%2Fxiao6%2FMusic%2FGI06%E5%AE%9E%E8%AE%AD%E8%8A%B8%E8%8C%97%E8%8C%B6%E5%8F%B6%2FYMTea%2FPodfile%3A2%3A+syntax+error%2C+unexpected+%27%3A%27%2C+expecting+end-of-input%0Aplatform+%3A+ios%2C+%277.0%27%0A++++++++++%5E&type=Issues

If none exists, create a ticket, with the template displayed above, on:
https://github.com/CocoaPods/CocoaPods/issues/new

Be sure to first read the contributing guide for details on how to properly submit a ticket:
https://github.com/CocoaPods/CocoaPods/blob/master/CONTRIBUTING.md

Don't forget to anonymize any private data!

出现这个错误的原因是因为Podfile文件里面的platform那一行,冒号和ios之间多了一个空格

3).E325: ATTENTION

Found a swap file by the name ".Podfile.swp"
          owned by: beisheng02   dated: Tue Aug  9 09:41:12 2016
         file name: ~beisheng02/Desktop/ZJL_Buyers/Podfile
          modified: YES
         user name: beisheng02   host name: zhangjielin.local
        process ID: 775
While opening file "Podfile"

(1) Another program may be editing the same file.
    If this is the case, be careful not to end up with two
    different instances of the same file when making changes.
    Quit, or continue with caution.

(2) An edit session for this file crashed.
    If this is the case, use ":recover" or "vim -r Podfile"
    to recover the changes (see ":help recovery").
    If you did this already, delete the swap file ".Podfile.swp"
    to avoid this message.

Swap file ".Podfile.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:

我出现这个错误的原因是因为之前创建过vim podfile文件,然后没有保存就退出终端了,下次再次打开终端,添加vim podfile文件的时候由于Podfile.swp文件已经存在,所以就报错了。多按几下回车键,找到上次没保存的vim文件,:wq保存并退出就可以了。

4).[!] Your Podfile has had smart quotes sanitised. To avoid issues in the future, you should not use TextEdit for editing it. If you are not using TextEdit, you should turn off smart quotes in your editor of choice.

出现这个问题的原因是因为我直接用的文本编辑去编辑Podfile,需要使用Xcode编辑,或者使用终端敲命令去编辑。

5).[!] Invalid `Podfile` file: syntax error, unexpected tSTRING_BEG, expecting end-of-input.

在写podfile文件的时候,platform:ios, '7.0'少写了一个引号造成的,注意检查podfile文件的格式

6).pod search 搜索类库失败的解决办法

  • 执行pod setup
    • 其实在你安装CocoaPods执行pod install时,系统会默认操作pod setup,然而由于中国强大的墙可能会pod setup不成功。这时就需要手动执行pod setup指令,如下:
    • 终端输入:pod setup
    • 会出现Setting up CocoaPods master repo,稍等几十秒,最底下会输出Setup completed。说明执行pod setup成功。
    • 如果pod search操作还是搜索失败,如下:
    • 终端输入:pod search AFNetworking
    • 输出:Unable to find a pod with name, author, summary, or descriptionmatching 'AFNetworking' 这时就需要继续下面的步骤了。
  • 删除~/Library/Caches/CocoaPods目录下的search_index.json文件
    • pod setup成功后,依然不能pod search,是因为之前你执行pod search生成了search_index.json,此时需要删掉。
    • 终端输入:rm ~/Library/Caches/CocoaPods/search_index.json
    • 删除成功后,再执行pod search
  • 执行pod search
    • 终端输入:pod search afnetworking(不区分大小写)
    • 输出:Creating search index for spec repo 'master'.. Done!,稍等片刻······就会出现所有带有afnetworking字段的类库

7).[!] CocoaPods was not able to update the `master` repo. If this is an unexpected issue and persists you can inspect it running `pod repo update --verbose`

终端运行 pod repo update --verbose

© 著作权归作者所有

琳小兮
粉丝 30
博文 66
码字总数 31201
作品 0
襄阳
程序员
私信 提问
加载中

评论(1)

子弹兄
子弹兄
我今天正好用了哎
使用CocoaPods管理第三方库

DEC 2ND, 2012 前言 每种语言发展到一个阶段,就会出现相应的依赖管理工具, 或者是中央代码仓库。比如 Java: maven,Ivy Ruby: gems Python: pip, easy_install Nodejs: npm 随着iOS开发者的...

泊竹
2013/12/08
158
0
如何在CocoaPods中添加自定义的库

CocoaPods命令介绍 在 上一篇文章 中,已经介绍过CocoaPods的几条基本命令。 pod setup 用于初始化本地第三方库的Spec描述文件,所有的spec文件存都存放在 ~/.cocoapods 目录中。 pod instal...

泊竹
2013/12/09
2.8K
0
CocoaPods管理iOS的第三方类库

使用CocoaPods管理iOS的第三方类库 OCT 15TH, 2012 iOS第三方类库的管理是一个很麻烦的事,项目信赖的类库和版本很难控制。让CocoaPods 来帮帮我们吧。 安装 先确认自己是否安装了ruby的运行...

cbliu
2014/06/22
1K
0
cocoaPods安装爬坑总结

1、移除现有Ruby默认源 $ gem sources --remove https://rubygems.org/ 2、使用新的源 $ gem sources -a https://ruby.taobao.org/ 备注:现在貌似淘宝也不更新了,可以自行上网搜一个源站。...

runchen0518
2018/12/24
0
0
27 个 iOS 开源库,让你的开发坐上火箭吧

本文翻译自Medium,原作者是Paweł Białecki,查看原文 你不会想错过他们,真的。 我爱开源。 并且我喜欢开发者们,把他们宝贵的私人时间用来创造神奇的东西,然后他们会和其他人分享并且不...

oschina
2016/07/20
3.8K
6

没有更多内容

加载失败,请刷新页面

加载更多

当阿里云工程师回到了家乡......

根据真实故事改编 略有浮夸 但重要的是 9月25日13:30-16:30 云栖大会「5G边缘计算专场」 一定要来哦 !!! 本文作者:樰篱 原文链接 本文为云栖社区原创内容,未经允许不得转载。...

Mr_zebra
25分钟前
5
0
文件操作工具类 FileUtils常用方法

文件操作工具类(FileUtils) 使用该工具类的前提是项目里导入commons-io 包 import org.apache.commons.io.FileUtils; List<String> lines=new ArrayList<String>(); lines.add("欢迎访问:......

AndLong
31分钟前
5
0
maven-shade-plugin

最近,用规则引擎(drools)的封装了一个jar包,给别人使用。用的是maven-assembly-plugin打的包,可以把多个jar包里的class 给打成一个jar,感觉还是满好用的,但是打包成功后,发现报空指针错...

internetafei
36分钟前
5
0
Cassandra repair 工具使用

前言 Cassandra是一款去中心化的分布式数据库。一份数据会分布在多个对等的节点上,即有多个副本。我们需要定期的对多个副本检查,看是否有不一致的情况。比如因为磁盘损坏,可能会导致副本丢...

阿里云官方博客
39分钟前
5
0
element-vue使用富文本编辑器【前端】

一、前言 1.富文本编辑器选择的为vue-quill-editor 官方地址:https://quilljs.com/docs/quickstart/ 2.安装 cnpm install vue-quill-editor cnpm install quill 3.在对应的页面引入,在com...

一代码农码一代
45分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部