给自己Mac安装cocoapods

来源:互联网 发布:java构造函数未定义 编辑:程序博客网 时间:2024/05/19 19:59

1.打开终端
2.移除现有 Ruby 默认源
$ gem sources –remove https://rubygems.org/

3.使用新的源
$ gem sources -a http://rubygems-china.oss.aliyuncs.com

4.验证是否替换成功
$ gem sources -l

5.安装 CocoaPods (注意:此时如果提示ruby版本过低,请参考下边进行ruby升级)
$ sudo gem install cocoapods(比较费时)

$ sudo gem update –system(gem版本太老也可能导致安装失败,所以先更新一下)

$ pod setup

cocoa pods 使用(新建工程,并在终端用 cd 指令进入工程根目录)
1. touch Podfile : 创建 Podfile 文件夹

  1. pod search + 第三方库

  2. pod -e Podfile :进入Podfile 文件夹

  3. Podfile 文件格式如下:

  4. 例:platform :ios, ‘7.0’ pod ‘AFNetworking’, ‘~> 2.5.3’

  5. 关闭Podfile文件夹

  6. pod install

  7. 每次更改了Podfile文件,都需要重新执行一次pod update命令

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

注: 使用RVM对Ruby进行升级,升级过程如下:
1、安装 RVM
(RVM:Ruby Version Manager,Ruby版本管理器,包括Ruby的版本管理和Gem库管理(gems))

安装 RVM。

$ curl -L get.rvm.io | bash -s stable

$ source ~/.bashrc

$ source ~/.bash_profile

测试是否安装正常

rvm -v

2、用RVM升级Ruby
查看当前ruby版本

$ ruby -v

列出已知的ruby版本

$ rvm list known

选择想要安装的ruby版本

$ rvm install x.x.x

如果系统安装不了高版本的,则要么升级系统,要么安装低版本ruby,踩过坑记录下。
详细rvm安装见http://ruby-china.org/wiki/install_ruby_guide

其他
指定cocoapods版本
sudo gem install cocoapods –version 0.24.0

卸载cocoapods
sudo gem uninstall cocoapods

设置默认的ruby版本
rvm use 1.9.3 –default

使用CocoaPods时遇到pod setup失败的解决办法(2016.8.12更新)

先说解决方案:
1.访问 https://github.com/CocoaPods/Specs,然后将Specs项目fork到自己的github账户上
2. 下载GitHub Desktop, 然后clone Specs项目。
3. 将clone的Specs项目的文件夹改名为master,然后拖到/Users/用户名/.cocoapods/repos目录下。
4. 运行pod setup
这里写图片描述

解释:pod setup的本质就是将https://github.com/CocoaPods/Specs上的Specs项目clone到/Users/用户名/.cocoapods/repos目录下。若此目录下已有Specs项目,则会将项目更新到最新的状态。由于Specs很大,容易导致pod setup失败。这时就需要我们手动安装Specs。若直接从github上下载zip文件,由于缺少git文件,会导致cocoa pods不使用。若用git clone,由于文件过大,容易导致失败。但是使用GitHub Desktop软件,则会提高clone的成功率,并且会给出clone的进度。

注意升级xcode8之后,执行pod install 时,出现如下问题:
CocoaPods报错:The dependency AFNetworking is not used in any concrete target,解决方法见
http://blog.csdn.net/sjl_leaf/article/details/50506057

多个target,pod文件写法见如下:
多个Target的podfile文件配置

遇到The dependency * is not used in any concrete target这种错误,是因为没有在podfile文件中设置target,如果工程只有一个target

target ‘Target’ do
pod ‘AFNetworking’, ‘~> 2.3.1’
end
如果是多个target:

abstract_target ‘defaults’ do

pod 'FMDB', '~> 2.6’pod 'AFNetworking', '~> 2.3.1'pod 'SDWebImage', '~> 3.7.1'……target 'Target A'target 'Target B'target 'Target C'……

end
http://blog.csdn.net/yinyignfenlei/article/details/51721782

2016 cocoapods的安装和使用以及版本升级遇到的问题
http://wenku.baidu.com/link?url=hJBtg2p37UbIX_S78zfl6davYs1Hw0QPB05GeTdP892isbcXoG2qcsLArSIu0_RMK5rBHVYcZdrzneAaouOHhMstu0CXAnj0Pr3pZiWwIy7

0 0
原创粉丝点击