zoukankan      html  css  js  c++  java
  • CocoaPods的安装和使用那些事(Xcode 7.2,iOS 9.2,Swift)

    Using The CocoaPods to Manage The Third Party Open-source Libaries


    • 介绍

      CocoaPods是用来管理你的Xcode项目的依赖库的。使用一个名叫Podfile的文件来描述你的项目的依赖关系。CocoaPods会解析库之间的依赖关系,获取库的源代码,然后再Xcode的工作空间中将他们链接在一起来构建你的项目。归根结底,CocoaPods的目的是,通过创建一个更加集中的生态的系统来提高第三方开源库的可发现性和可管理性

      注:以上是CocoaPods官网对其的介绍(磕巴的英语,望见谅)https://guides.cocoapods.org/using/getting-started.html

    • 安装

      • 更新ruby的gem(gem版本过老时需要先更新)

        apple$ sudo gem update --system
        
      • 使用gem命令下载并安装CocoaPods

        apple$ sudo gem install cocoapods
        
      • 将ruby的源替换成国内的源

        apple$ gem sources --remove https://rubygems.org/
        apple$ gem sources --add https://ruby.taobao.org/
        
      • 将podspec索引文件更新到本地

        apple$ pod setup
        

        下载完成后,通过路径~/.CocoaPods查看所下载的内容,如图

    • 使用

      • 搜索

        apple$ pod search snapkit
        

        结果如图:

      • 切换到项目的一级目录,如:/Users/apple/Desktop/testCocoaPods;创建podfile文件

        apple$ cd cd /Users/apple/Desktop/testCocoaPods
        testCocoaPods$ vim podfile
        
      • 在podfile文件中描述项目所依赖的库

        platform :ios
        pod 'SnapKit'
        

        如图:

      • 下载依赖的第三方库,并将项目构建在一个工作空间内

        apple$ pod install
        

        注意:

        • 此时是无法下载成功的,会提示如图所示的错误信息

        • 以上错误原因是:没有指点iOS的版本,指定iOS的版本

          platform :ios, '9.0'
          pod 'SnapKit'
          
        • 此时仍无法更新成功,会提示如图所示的错误信息

        • 以上错误的原因是:Apple不允许你编译包含swift的静态库,详细原因:(http://stackoverflow.com/questions/29091522/error-running-pod-install-with-swift),修改podfile文件

          platform :ios '9.0'
          use_frameworks!
          pod 'SnapKit'
          
        • 执行pod install命令,成功下载SnapKit库的源文件,会提示如图所示的成功信息

          • 其中的podfile.lock文件用于锁定当前各个依赖库的版本
      • 查看集成了第三方库SnapKit的项目

        • 项目中文件如图所示

        • 打开上图所示的testCocoaPods.xcworkspace文件,项目的文件结构如图所示

    • pod install与pod update命令

      • 两者执行之前在执行之前,默认会先更新一次podspec索引。若要禁用,请使用如下命令:

        apple$ pod install --no--repo--update
        
      • pod install不会改变podfile.lock(避免依赖库的版本升级时,协作开发的多个开发者的项目的依赖库的版本不一致),pod update会改变,因此每次改变了podfile文件都需要执行一次pod update操作

  • 相关阅读:
    zoj 2876 Phone List
    zoj 2829 Beautiful Number
    zoj 2723 Semi-Prime(set)
    zoj 2835 Magic Square(set)
    zoj 2818 Root of the Problem
    zoj 2744 Palindromes
    zoj 1109 Language of FatMouse(map)
    zoj 2724 Windows Message Queue
    zoj 2722 Head-to-Head Match(两两比赛)
    zoj 2727 List the Books
  • 原文地址:https://www.cnblogs.com/theDesertIslandOutOfTheWorld/p/5087398.html
Copyright © 2011-2022 走看看