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

2017-11-18  本文已影响30人  Jacob_LJ

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
2. update

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

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

4.cocoapods机制图解

远程索引库 远程索引库

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

本地索引库

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

本地 JSON索引文件
上一篇下一篇

猜你喜欢

热点阅读