美文网首页
cocoapods简单使用及机制理解(1)

cocoapods简单使用及机制理解(1)

作者: Jacob_LJ | 来源:发表于2017-11-18 23:13 被阅读30次

    Cocoapods

    1、检索第三方框架

    命令:pod search + 框架关键字

    pod search AFN
    

    内部做的事情:从本地缓存的第三方框架描述信息生成的检索文件中检索到 相关框架的信息
    常见问题:


    解决方案:删除cocoapods索引文件 rm ~/Library/Caches/CocoaPods/search_index.json

    2、安装第三方框架 步骤

    1. 创建 Podfile 文件, 到自己工程内(一级目录)

    创建命令:

    pod init
    

    Podfile 文件作用?
    答:其实就是使用ruby语法编写的 "框架依赖描述文件"; 就是告诉cocoapods需要下载集成哪些框架
    常见配置语法?
    答:参考http://www.jianshu.com/p/8af475c4f717
    须知:可以存放到其他目录, 但必须指定项目工程的位置
    答:xcodeproj 如:“Users/你的用户名/Desktop/test/test.xcodeproj”

    2. 安装框架

    2.1. pod install 按照 podfile 文件中的描述安装框架

    内部做的事情:
    - cocoapods 如果是1.0.1版本
    直接就是根据 Podfile 文件找到, 框架信息, 然后下载集成
    - 如果是之前版本
    1. 更新本地框架信息源信息(会非常耗时,应该添加参数 --no-repo-update)
    2. 直接就是根据 Podfile 文件找到, 框架信息, 然后下载集成

    2.2. 常见错误

    原因:Podfile 文件就是描述 Xcode工程中的targets

    1. 如果在老版本没有指明, CocoaPods会创建一个名称为default的隐式target,会和我们工程中的第一个target相对应。
    2. 在1.0.1版本之后, 要求必须指明才可以

    解决方案:

    1. 指定依赖目标 target
    2. 修改Podfile 文件内容, 增加 补充: 可以使用 link_with 关键字, 让多个target 使用同一个Pod依赖库 技巧:具体可以查看cocoaPods官网 https://guides.cocoapods.org

    2.3 生成的重要文件 Podfile.lock

    • 作用: 记录着上一次下载的框架最新版本

    3 pod install 和 pod update 区别

    通过 pod --help 查看


    1. installl
    • 如果Podfile.lock文件存在, 直接从此文件中读取框架信息下载安装
    • 如果不存在, 依然会读取Podfile文件内的框架信息
      下载好之后, 再根据下载好的框架信息, 生成Podfile.lock文件
    2. update
    • 不管Podfile.lock是否存在, 都会读取Podfile文件的的框架信息去下载
      下载好之后, 再根据下载好的框架信息, 生成Podfile.lock文件

    主要区别在于, Podfile文件内的框架信息, 版本描述有没有指定具体版本,如果有指定版本号等,则没区别;
    如果同时将 Pods 文件夹上传到仓库的话,则可以减少多人开发可能产生的不同版本库依赖问题,当前不建议上传 Pods 文件夹的原因我觉得只是嫌弃开始上传文件多且大而已

    经验: 实际项目开发过程中, 该如何选择install 和 update 命令??

    • 如果多人开发, 首先, 上传除了 Pods 文件夹的其他文件(即上传 .gitignore / Podfile / Podfile.lock / test / test.xcodeproj / test.xcworkspace )


    • 一般情况下, 每个人从共享库把项目下载下来之后, 都会执行pod install 命令安装!! 而不是选择 pod update
      目的: 是为了保证大家使用的第三方框架版本一致!!
      如果以后大家需要统一升级第三方框架, 那么每个人在执行 pod update

    4.cocoapods机制图解

    远程索引库 远程索引库

    本地索引库
    /Users/yourComputerName/.cocoapods/repos/master/Spec

    本地索引库

    本地 JSON索引文件地址 (Caches目录下,会被清除)/Users/yourComputerName/Library/Caches/CocoaPods/search_index.json

    本地 JSON索引文件

    相关文章

      网友评论

          本文标题:cocoapods简单使用及机制理解(1)

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