关于Pods的整理

来源:互联网 发布:网络打字兼职可信吗 编辑:程序博客网 时间:2024/06/05 20:58

      一直以来对于cocoa Pods。总是有一种看起来很简单,但是遇到很多问题。现在我想好好整理一下,最初始的关于Pods的问题。

     最新的安装Pods的方法:

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://ruby.taobao.org/$ gem sources -a https://gems.ruby-china.org/$ gem sources -l

淘宝镜像无法使用了,使用最新支持的ruby镜像(https://gems.ruby-china.org/)

安装成功后,接着执行命令:

pod setup

如果Ruby环境不够新,可能需要更新以下:

sudo gem update --system

至此安装就完成了,我们可以尝试搜索一个第三方类库:

pod search AFNetworking

使用CocoaPods的第一步,是在当前项目下,新建一个Podfile文件:

touch Podfile

然后利用vim打开Podfile文件编辑,加入你想要使用的类库,格式如下:

platform :iospod '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.0pod ‘AFNetworking’, ‘~>0.1′     //使用大于等于0.1但小于1.0的版本pod ‘AFNetworking’, ‘~>0′     //高于0的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本
复制代码
这是别人写的一个博客,写的很好的,但是就是编辑podfile文件的时候,使用vim。不清楚过程。网上找到了一个比较详细的另外的文章,这边写在这里。以防链接失效。

需要在工程中创建一个Podfile文件,

使用命令:

$cd /Users/shiyunlei/Desktop/CocoapodsSample(进入工程目录,cd后面的是工程的路径)

$ touch Podfile(创建Podfile文件)

技术分享

 

然后使用vim编辑Podfile文件,使用命令:

$ vim Podfile
进入如下界面

技术分享

 

然后紧接着按键盘上的“i”键,变成如下状态,这个时候可以对Podfile文件进行编辑:

$platform:ios, ‘7.0‘

$ pod ‘AFNetworking‘, ‘~> 2.3.1‘

在编辑完成后按“esc”,

技术分享

 

在按“:”,这个时候输入wq,点击回车,保存并退出。

技术分享

 

这个时候打开Podfile文件就会看到里面添加了刚才在终端输入的一行语句,如下图

技术分享

 

然后在终端输入命令安装相应的第三方类库

$pod install

技术分享

 

因为这个过程需要下载相应的类库,所以时间和网速有关。

安装成功之后截图如下:

技术分享

 

这个时候会看到之后打开工程都需要从类型为工程名.xcworkspace文件打开。

技术分享


以上的已经非常完整的显示如何给一个新项目使用pod。那么对于已经使用pod的旧项目呢。该如何对pod进行更改呢。
原则上就是cd 项目文件路径,然后pod update。注意如果提示找不到改命令,就是因为你没有安装pod。需要重新安装,然后才可以执行pod的一系列命令和操作。

CocoaPods specs的镜像索引

在使用cocoapods进行update或者install的时候,会去更新获取pod specs。
所有的项目的podspec文件都托管在https://github.com/CocoaPods/Specs上。
第一次执行pod setup时,cocoapods会将这些podspec索引文件更新到本地的 ~/。cocoapods/目录下,
这个索引文件比较大,国内网络的问题,更新非常慢。

网上一个博主http://akinliu.github.io/2014/05/03/cocoapods-specs-/ ,对github上的specs仓库进行了镜像,
是每10分钟进行同步一次,基本和主仓库保持一致。
gitcafe和oschina都是国内服务器,在执行索引更新操作时,快很多。

使用方法:
pod repo remove master
pod repo add master https://gitcafe.com/akuandev/Specs.git
pod repo update

如果想用oschina的镜像,可以把第二条命令的地址换成oschina的即可。
pod repo add master http://git.oschina.net/akuandev/Specs.git

如果在pod install、或者pod update时,不想升级specs库,可以增加忽略参数
pod install --no-repo-update
pod update --no-repo-update

以上基本是初步使用pods的方法。使用期间遇到的关于pod的问题,会另外写一篇文字,记录。
0 0