美文网首页
CocoaPods - 基础篇

CocoaPods - 基础篇

作者: wutongyu | 来源:发表于2016-01-15 21:26 被阅读525次

    0.安装前准备工作 -- (可跳过)

    1.在装之前最好先卸载点老版本
    
    $ sudo gem uninstall cocoapods
    
    2.查看本地安装过的cocopods相关东西
    
    $ gem list --local | grep cocoapods
    
    显示如下:
    
    cocoapods (1.0.1)
    
    cocoapods-core (1.0.1)
    
    cocoapods-deintegrate (1.0.1)
    
    cocoapods-downloader (1.1.1)
    
    cocoapods-plugins (1.0.0)
    
    cocoapods-search (1.0.0)
    
    cocoapods-stats (1.0.0)
    
    cocoapods-trunk (1.0.0)
    
    cocoapods-try (1.1.0)
    
    然后使用命令逐个删除
    
    $ sudo gem uninstall cocoapods-core
    
    $ sudo gem uninstall cocoapods-deintegrate
    
    ....
    
    删除完之后接下来安装RVM
    
    RVM 是干什么的这里就不解释了,后面你将会慢慢搞明白。
    $ curl -L https://get.rvm.io | bash -s stable
    
    然后,载入 RVM 环境
    $ source ~/.rvm/scripts/rvm
    
    检查一下是否安装正确
    $ rvm -v
    
    rvm 1.27.0 (latest) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
    
    用RVM安装Ruby环境
    
    可以先查询已经安装的ruby
    $ rvm list
    
    卸载一个已安装版本 
    $ rvm remove 1.9.2
    
    列出已知的ruby版本
    $ rvm list known
    
    可以选择现有的rvm版本来进行安装(下面以rvm 2.3.0版本的安装为例)
    $ rvm install 2.3.0 
    
    这里需要等上一段时间
    
    二. 指定Ruby版本号
    
    设置Ruby版本
    RVM 装好以后,需要执行下面的命令将指定版本的 Ruby 设置为系统默认版本
    $ rvm 2.3.0 --default
    
    同样,也可以用其他版本号,前提是你有用 rvm install 安装过那个版本
    这个时候你可以测试是否正确
    $ ruby -v
    
    ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15]
    

    1.CocoaPods的安装

    1. 由于天朝网络受限,需将源替换成淘宝的镜像
    /** 删除源 */
    $ gem sources --remove https://rubygems.org/ 
    
    /** 替换源 - 原淘宝的已停更,换成腾讯的 */
    $ gem sources -a https://gems.ruby-china.org/ 
    
    /** 用来检查使用替换镜像位置成功 */
    gem sources -l 
    
    /** 安装 */ 
    $ sudo gem install -n /usr/local/bin cocoapods --pre
    
    /** 更新 */
    $ sudo gem update -n /usr/local/bin cocoapods --pre
    
    /** 查看cocoapods的版本号 */
    $ pod --version
    
    /** 设置 */
    $ pod setup
    
    
    1. Podfile格式
    source "https://github.com/CocoaPods/Specs.git"
    
    platform :ios, '8.0'
    
    // swift 一定要加这一句
    use_frameworks!
    
    target 'PhotoPass' do
    
    // 不指定依赖库版本,每次都获取最新版本  
    pod 'AFNetworking'
    
    // 只使用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', '<= 2.0'    
    
    // 使用大于等于0.1.2但小于0.2的版本 
    pod 'AFNetworking', '~> 0.1.2'     
    
    // 使用大于等于0.1但小于1.0的版本  
    pod 'AFNetworking', '~>0.1'     
    
    // 高于0的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本 
    pod 'AFNetworking', '~>0'
    
    end
    
    

    2.使用CocoaPods安装第三方框架

    // 搜索框架
    $ pod search XXX
    
    // 初使化 Podfile
    $ pod init
    
    // 用XCode打开Podfile文件,添加框架名,并保存
    例:
    $ pod 'AFNetworking'
    $ pod 'FMDB'
    
    // 第一次使用CocoaPods安装框架时指令
    $ pod install
    
    // 安装框架,不更新本地索引,速度快
    $ pod install --no-repo-update
    
    // 升级时指令、如要添加、删除框架,只需添加或删除对应框架名
    $ pod update
    
    // 更新框架,不更新本地索引,速度快
    $ pod update --no-repo-update
    
    // 帮助
    $ pod --help
    
    

    3.PodFile使用

    • 如果在Podfile中没有指定target,那么只有工程里的第一个target能够使用Podfile中描述的Pods依赖库。

    • 如果想在一个Podfile中同时描述project中的多个target,根据需求的不同,可以有不同的实现方式。

    • CocoaPodsTest的target和Second的target都需要使用Reachability、SBJson、AFNetworking三个Pods依赖库,可以使用link_with关键字来实现,将Podfile写成如下方式:

    source "https://github.com/CocoaPods/Specs.git"
    platform :ios, '8.0'
    link_with 'CocoaPodsTest', 'Second' 
    platform :ios   
    pod 'Reachability',  '~> 3.0.0'   
    pod 'SBJson', '~> 4.0.0'   
    pod 'AFNetworking', '~> 2.0'
    
    • 不同的target使用完全不同的Pods依赖库
      CocoaPodsTest这个target使用的是Reachability、SBJson、AFNetworking三个依赖库,但Second这个target只需要使用OpenUDID这一个依赖库,这时可以使用target关键字,Podfile的描述方式如下:
    source "https://github.com/CocoaPods/Specs.git"
    platform :ios, '8.0'
    target :'CocoaPodsTest' do 
    platform :ios   
    pod 'Reachability',  '~> 3.0.0'   
    pod 'SBJson', '~> 4.0.0'   
    pod 'AFNetworking', '~> 2.0' 
    end 
    
    target :'Second' do 
    pod 'OpenUDID', '~> 1.0.0' 
    end
    

    相关文章

      网友评论

          本文标题:CocoaPods - 基础篇

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