CocoaPods安装和使用

Cocoapods安装步骤

1.升级Ruby环境

sudo gem update --system

如果Ruby没有安装,请参考 如何在Mac OS X上安装 Ruby运行环境

2.安装CocoaPods时我们要访问cocoapods.org,用淘宝的RubyGems镜像来代替官方版本,执行以下命令:

$ gem sources --remove https://rubygems.org/
//等有反应之后再敲入以下命令
$ gem sources -a https://ruby.taobao.org/

为了验证你的Ruby镜像是并且仅是taobao,可以用以下命令查看:

$ gem sources -l

只有在终端中出现下面文字才表明你上面的命令是成功的:

*** CURRENT SOURCES ***

http://ruby.taobao.org/

上面的命令,有时试了会没有效,请参考淘宝网的https://ruby.taobao.org

复制代码
$ gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/
$ gem sources -l
*** CURRENT SOURCES ***

https://ruby.taobao.org
# 请确保只有 ruby.taobao.org
$ gem install rails
复制代码

3.安装Cocoapods,在终端输入命令(10.11以上,请跳过该步骤,看第4点)

$ sudo gem install cocoapods

等上十几秒钟,CocoaPods就可以在你本地下载并且安装好了,不再需要其他设置。

4.10.11以上,上面的命令是不生效了,因为10.11把cocoapods直接干掉了

sudo gem install -n /usr/local/bin cocoapods
再加一句,完美解决
sudo xcode-select --switch /Applications/Xcode.app

在终端中输入如下命令来完成安装:

//将 CocoaPods Specs repository复制到你电脑上~/.cocoapods目录下
pod setup

它需要一点时间来完成,你等就是了
如果安装失败 ~/.cocoapods 里面是空的,就需要重新setup
命令如下:

pod repo remove master  
pod setup

完毕之后这个文件夹大概有 100多M,需要花费比较多时间,请耐心等待。
到这里你已经成功安装了CocoaPods

Cocoapods使用

1.使用search命令搜索类库名

$ pod search AFNetworking

得到结果如下图:

从这个图上,我们看到AFN有好多版本,最新的版本是2.6.0.

2.打开xcode,新建一个工程,工程名为CocoapodsSample。

使用命令cd,cd后面跟的是工程目录名,可以直接拉进来,

回车后,输入命令创建Podfile文件

$ touch Podfile

我们可以看到,在根目录下,多了一个Podfile文件

3.使用vim编辑podfile文件,使用命令

$ vim Podfile

然后在Podfile文件中输入以下文字:

platform :ios, '7.0'
pod "AFNetworking", "2.5.0"

这两句文字的意思是,当前AFNetworking支持的iOS最高版本是iOS 7.0, 要下载的AFNetworking版本是2.5.0。

在编辑完后按 esc,然后按":",这个时候输入wq保存退出。

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

4.这时候,你就可以利用CocoPods下载AFNetworking类库了。还是在终端中的当前项目目录下,运行以下命令:

$ pod install 

安装成功后,如下图:

这个时候,会看到多了一个.xcworkspace工程,以后打开项目就用 CocoapodsSample.xcworkspace 打开,而不是之前的.xcodeproj文件。

5.打开 CocoapodsSample.xcworkspace 工程,你会惊喜地发现,AFNetwoking已经成功导入项目了。

现在,你就可以开始使用AFNetworking.h啦。可以稍微测试一下,在你的项目任意代码文件中输入:

#import <AFNetworking.h>
或者
#import "AFNetworking.h"

然后编译,看看是否出错。如果你严格按照小编上述的步骤来,是不可能出错的啦。

另:

如果有一些包已经存在了,或者我们更改了Podfile里面的版本,可以使用以下命令更新

$ pod update

关于Podfile文件编辑时,第三方库版本号的各种写法:

按 Ctrl+C 复制代码
复制代码
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.0
pod ‘AFNetworking’, ‘~>0.1//使用大于等于0.1但小于1.0的版本
pod ‘AFNetworking’, ‘~>0//高于0的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本


问题:[!] The dependency `AFNetworking (= 3.0.1)` is not used in any concrete target.
解决办法:你的Podfile文件中写的target不对,这个值要和我们的工程名一样否则就会出现这个错误 ,如右图所示
        


在文件目录下执行三步,即可使用Pod:



报错:diff: /../Podfile.lock: No such file or directory
diff: /Manifest.lock: No such file or directory
error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.

解决方法:把以前代码放到新电脑上运行,在执行pod update之后build工程遇到如下提示:

  diff: /../Podfile.lock: No such file or directory   
  diff: /Manifest.lock: No such file or directory error: The sandbox is not in sync with the Podfile.lock. 
  Run 'pod install' or update your CocoaPods installation.

google一圈之后,找到两个解决方案:

  • 方案一:

    关闭Xcode,重新执行pod install,之后再重新打开Xcode运行。

  • 方案二:

    稍微复杂一点,删除以下文件:

    xcworkspace
    Podfile.lock
    Pods文件夹
    ~/Library/Developer/Xcode/DerivedData路径下对应工程的文件夹

    然后重新执行pod install

如果以上两个方案对你有用的话,恭喜你,下面的可以不用看了,如果你像我一样倒霉,仍然运行不起来的话,来来来,咱们继续。

  • 方案三
    1. 设置Configurations
      选中Project->选择Info tab->看看Configurations是不是被设置为 None了,如果是None的话请改为Pods,如图:

      设置Configurations
    2. 修改Pods脚本文件路径
      1. 右键工程根目录下的xxx.xcodeproj文件,显示包内容
      2. 双击打开project.pbxproj文件
      3. 查找"Pods-resources.sh", 把路径改为如下红框处:

        修改Pods脚本文件路径
      4. 重新打开工程(双击workspace文件),到此应该是能正常编译运行了,如果还是不行,期待你提出方案四^_^

Cocoapods 版本升级

和往常一样使用 Cocoapods ,执行命令:

$ pod install

#输出信息
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/dependency.rb:296:in `to_specs': Could not find 'cocoapods' (>= 0) among 59 total gem(s) (Gem::LoadError)
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/dependency.rb:307:in `to_spec'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_gem.rb:47:in `gem'
    from /usr/local/bin/pod:22:in `<main>'

查看 Ruby 版本:

$ ruby -v
ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-darwin14]

看来是升级 Ruby 2.2.3 导致的问题,更新下 Cocoapods 即可,更新步骤:

1、 更新 gem ,国内需切换 gem source

$ sudo gem update --system
  • 切换 gem source
$ gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/

$ gem sources -l
*** CURRENT SOURCES***

https://ruby.taobao.org

2、 安装 cocoapods

$ sudo gem install cocoapods
$ pod setup

和安装过程是一样的,再次查看 pod 版本:

$ pod --version

0.39.0






  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值