cocoaPods安装、使用及常见问题

一.安装过程

1.终端上更新gem。最好先使用淘宝源再更新,不然更新不了。

sudo gem update --system

检车版本

rvm -v
gem -v

2.使用淘宝源,注意是https。

gem sources --remove https://rubygems.org/
gem sources -a https://ruby.taobao.org/
gem sources -l

3.安装cooapods。最新的1.0.0正式版,安装的时候注意使用sudo,不使用sudo会有一些系统库文件拒绝访问。如果报错 Operation not permitted - /usr/bin/fuzzy_match 这时候我们应该采取如下安装方法
sudo gem install -n /usr/local/bin cocoapods 。

sudo gem install cocoapods
gem install cocoapods --pre //个人使用了预览版
//也有说法用sudo gem install -n /usr/local/bin cocoapods,因为苹果系统升级 OS X EL Capitan 后认不到cocoapods,会报错。我没使用这个安装。

切记自己用没用sudo去安装,因为用sudo能安装一遍,不用sudo也能安装一遍,这样就是安装了两遍。那么你在删除时也要对应是否有sudo,如果只删除一次,你会发现还是没有删除掉,然后不管怎么删除都在那里,其实就是因为sudo造成的安装了两遍,自己再对应删除两遍才能真的删除掉。

4.使用国内的镜像仓库,这个我没有使用,因为使用后出错。注意使用国内源在Podfile里也要设置国内源的引用,不然还是会从国外源引用。
我个人还是通过梯子直接使用的国外源,注意梯子应该是需要手动加一下github.com到pac,不然好像就不会更新,即使梯子是全局模式好像也是不更新的,我弄了两次好像都是在手动模式下在pac添加github.com后才开始更新。终端查看更新文件夹大小的命令 du -sh 。

pod repo remove master
pod repo add master http://git.oschina.net/akuandev/Specs.git
pod repo update

5.设置cocoapods本地仓库

pod setup

这里等待时间比较长,因为我查看到内容大小650M,如果自己有用ss梯子的话就可以直接从git上拉,如果没有的话可以试试国内的源。
如果在更新git时报错,就重新用命令继续更新。

二.使用

1.在项目文件夹内新建一个Podfile文件,然后按照cocoapods的要求格式设置。

touch Podfile
open Podfile

目前官方的格式是,注意使用use_frameworks!,否则报错。’MyApp’填写自己的项目名称。

platform :ios, '8.0'
use_frameworks!

target 'MyApp' do
  pod 'AFNetworking', '~> 2.6'
  pod 'ORStackView', '~> 3.0'
  pod 'SwiftyJSON', '~> 2.3'
end

然后终端进入到项目文件夹内,使用以下命令。

pod install

等待一会,第三方框架就安装好了。
注意,以后都要使用项目文件夹内的扩展名为.xcworkspace打开项目。
注意,Podfile.lock一定要保留,也一定要上传到版本库,因为这个是约束团队项目第三方框架版本的。如果不引用这个,团队内引用的第三方框架版本就会不同。

注意install和update的区别。
1、pod install
根据Podfile文件指定的内容,安装依赖库,如果有Podfile.lock文件而且对应的Podfile文件未被修改,则会根据Podfile.lock文件指定的版本安装。
每次更新了Podfile文件时,都需要重新执行该命令,以便重新安装Pods依赖库。
2、pod update
若果Podfile中指定的依赖库版本不是写死的,当对应的依赖库有了更新,无论有没有Podfile.lock文件都会去获取Podfile文件描述的允许获取到的最新依赖库版本。

接下来就可以在项目中引用了。

三.常见问题

1.项目中#import不能引用第三方框架
点击蓝色项目名,找到target - - build settings - - 搜索User Header Search Paths
添加一个${SRCROOT},后面选择recursive。

2.pod search
搜索后,使用u上翻页,d下翻页,q退出。

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

4.Podfile和target
当有多个target时,需要不同的方式设置Podfile,详见下面的帖子:
http://blog.csdn.net/wzzvictory/article/details/19178709

5.参考博客
私有仓库制作 http://blog.csdn.net/wzzvictory/article/details/20067595
私有框架更新 http://foggry.com/blog/2016/03/23/cocoapods-xiang-jie-zhi-geng-xin-pian/
唐巧的博客 http://blog.devtang.com/2014/05/25/use-cocoapod-to-manage-ios-lib-dependency/#jtss-douban

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值