美文网首页
cocoapods使用

cocoapods使用

作者: mengyingguo | 来源:发表于2017-03-20 14:54 被阅读0次

安装使用参考:http://blog.csdn.net/zhanglizhi111/article/details/76657982

http://www.jianshu.com/p/fe6beb7c312d

前段时间在处理新项目需要使用cocoaPods,发现网络上提供的办法部分步骤已经过时,先把自己安装步骤放到这里。具体介绍网络上有很多 此处省略。

首先,检查你的ruby源:

gem sources -l

默认情况是

*** CURRENT SOURCES ***

https://rubygems.org/

重要的位置: 这个源路径国内不能使用,之前是使用淘宝的镜像https://ruby.taobao.org/,现在发现这个也不能使用了,替换为http://gems.ruby-china.org/。感兴趣的话,查看此处

替换http://gems.ruby-china.org/源:

移除旧源

gem sources --remove https://rubygems.org/

添加新的源地址https://gems.ruby-china.org/

gem sources -a http://gems.ruby-china.org/

使用上面的 gem sources -l 命令检查源地址正确结果应该是

*** CURRENT SOURCES ***

http://gems.ruby-china.org/

在这里需要更新一下gem版本

sudo gem update --system

此时 既理论上既可以安装cocoapods 如下

sudo gem install -n /usr/local/bin cocoapods --pre

正常情况下输入密码进入下载安装状态然后输出一系列cocoapod 安装包的下载安装状态结束时如下:

Parsing documentation for cocoapods-1.2.1

Installing ri documentation for cocoapods-1.2.1

23 gems installed

localhost:~ mac$

此时也可以使用pod 的search命令 进行验证:

pod search AFNetwork

会展示和AFNetwork所有相关的第三方库信息。

安装过程中出现的坑,ERRO:

进行安装cocoapod(使用gem命令) 是出现

ERROR:While executing gem ... (OpenSSL::SSL::SSLError)

hostname "upyun.gems.ruby-china.org" does not match the server certificate

这是因为你使用了 https://gems.ruby-china.org/ 源路径证书验证未通过,请如上使用http://gems.ruby-china.org/。具体原因没有找到 要是有知道的同学可以留言交流。

如果出现

ERROR:While executing gem ... (Gem::DependencyError)

Unable to resolve dependencies: cocoapods requires cocoapods-core (= 1.2.1), cocoapods-downloader (< 2.0, >= 1.1.3), cocoapods-trunk (< 2.0, >= 1.2.0), molinillo (~> 0.5.7), xcodeproj (< 2.0, >= 1.4.4), colored2 (~> 3.1), ruby-macho (~> 1.1)

说明有可能是你的gem版本比较低 可以使用

gem update --system

然后就是骂人了 还是不行。好吧

如果出现下面的错误

ERROR:While executing gem ... (Gem::FilePermissionError)

You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.

说明你没有权限 可以如上面操作 在命令操作前加上sudo即可 sudo gem update --system

sudo gem update --system

更新完成之后既可以安装进行后面操作。

如出现另一个错误 可能是你使用以前安装的操作 gem install cocoapods。

ERROR:While executing gem ... (Errno::EPERM)

Operation not permitted - /usr/bin/xcodeproj

说明又是没有权限不能操作  解决办法是

sudo gem install -n /usr/local/bin cocoapods --pre

至此 基本上将安装cocoapod 中发现的问题和解决办法写到这里。如发现新的问题可以回复留言,一起学习研究。

补充

更新CocoaPods  使用上面的安装操作

sudo gem install -n /usr/local/bin cocoapods --pre

一.终端 setting up cocoapods master repo 不动

1、那是因为 淘宝的那个镜像(https://ruby.taobao.org/ )已经不可用了。所以我们现在用最新支持的ruby镜像(https://gems.ruby-china.org/)

需要的命令行:

gemsources−rhttps://rubygems.org/(移除旧版本的镜像,如果你不知道你电脑上目前用的是什么镜像,可用 gem sources -l 来查看)

 gem sources -a https://gems.ruby-china.org/ (增加可用的镜像)

 gem sources -l (用来检查使用替换镜像位置成功)

安装CocoaPods

(1) $sudo gem install cocoapods 备注:苹果系统升级 OS X EL Capitan 后改为 $sudo gem install -n /usr/local/bin cocoapods

(2) $pod setup

更新gem

$sudo gem update --system

2、当pod setup 进入Setting up CocoaPods master repo 等待的时候表示正在下载了,此时你可通过新开一个终端窗口,输入”cd ~/.cocoapods/”命令行跳到cocoapods文件夹内,执行”du -sh *”查看正在下载的文件夹的大小。

二、使用CocoaPods:

1.新建工程,并在终端用cd指令到文件夹内

$pod search 第三方

2.新建文件 vim “Podfile”,

$vim Podfile

写入以下内容并保存 小提示:(终端vim文件 按 i 可编辑 ,esc 退出编辑,:wq 可保存退出)

platform :ios, '7.0'

target '项目target名' do

pod 'AFNetworking', '~> 3.1.0'

end

8.导入第三方库

$pod install

pod install与pod update区别:

1.使用pod install来安装新的库,即使你的工程里面已经有了Podfile,并且已经执行过pod install命令了;所以即使你是添加或移除库,都应该使用pod install。

2.使用pod update [PODNAME] 只有在你需要更新库到更新的版本时候用。

小技巧:

最近使用CocoaPods来添加第三方类库,无论是执行pod install还是pod update都卡在了Analyzing dependencies不动

原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:

pod install --verbose --no-repo-update

pod update --verbose --no-repo-update

创建Podfile的书写格式

官网是这样给推荐的:

在创建Podfile的时候,用这种格式使用,

platform :iOS, '8.0'

target 'MyApp' do

pod 'AFNetworking', '~> 2.6'

pod 'ORStackView', '~> 3.0'

pod 'SwiftyJSON', '~> 2.3'

end

然后终端$ pod install运行就可以了

里面的MyApp记得替换为自己攻城里面的target。这样就基本OK了,执行pod install / pod update就都可以了。(use_frameworks!这个是个别需要的,这里修改一下,可以把我上面的代码中的这一行【删除】)

下面是另外一种写法,

platform :ios, '8.0'

#use_frameworks!个别需要用到它,比如reactiveCocoa

def pods

pod 'AFNetworking', '~> 2.6'

pod 'ORStackView', '~> 3.0'

pod 'SwiftyJSON', '~> 2.3'

end

target 'MyApp' do

pods

end

参考链接:http://blog.csdn.net/ycf03211230/article/details/54584320

http://www.jianshu.com/p/b64b4fd08d3c

相关文章

网友评论

      本文标题:cocoapods使用

      本文链接:https://www.haomeiwen.com/subject/wmzbnttx.html