cocoapods基本使用

cocoapods的安装

1.gem简介

  • Gem是一个管理Ruby库和程序的标准包,它通过Ruby Gem(如 http://rubygems.org/ )源来查找、安装、升级和卸载软件包,非常的便捷。

  • 常用命令

    • 查看gem版本 gem --version
    • 更新 gem update --system
    • 查看数据源 gem source
    • 安装软件包 gem install 软件包名称
    • 卸载安装包 gem uninstall

2.使用gem 安装cocoapods

sudo gem install cocoapods

使用cocoapods集成第三方

1.检索第三方框架

  • pod search 框架关键字
    • 内部原理:从本地缓存的"第三方框架描述信息" 生成的检索文件中检索到 相关框架的信息
  • 常见错误:unable to find....
    • 删除cocoapods索引文件

2.安装第三方框架

  • 创建 Podfile 文件, 到自己工程内(一级目录)
    • Podfile 文件作用:其实就是使用ruby语法编写的 "框架依赖描述文件"; 就是告诉cocoapods需要下载集成哪些框架
    • 创建命令: pod init
  • 安装框架
    • 安装命令 pod install
    • 原理:直接就是根据 Podfile 文件从本地索引库中找到框架信息, 然后下载集成
    • 找不到目标框架
      • 更新本地框架信息源信息: pod install --no-repo-update (快速)
  • 生成的重要文件 Podfile.lock
    • 作用: 记录着上一次下载的框架最新版本
  • pod install 和 pod update 区别
    • pod install: 如果Podfile.lock文件存在, 直接从此文件中读取框架信息下载安装, 如果不存在, 依然会读取Podfile文件内的框架信息,下载好之后, 再根据下载好的框架信息, 生成Podfile.lock文件
    • pod update 不管Podfile.lock是否存在, 都会读取Pod file文件的的框架信息去下载
    • 主要区别在于, Podfile文件内的框架信息, 版本描述没有指定具体版本

cocoapods机制图解

机制图解.png

后会讲讲程索引库保存到本地
检索索引文件:由本地索引库转换成的json文件 使用pod search 会从索引文件中找到第三方框架的信息
pod install:会从本地索引文件中找到第三方框架的描述信息,再由第三方框架描述信息里的远程地址下载到源码

上传自己的代码到cocoapods

1.创建工程

2.上传到github,并且打好标签

3.配置并上传框架的 PodSpec 文件, 并使用trunk的方式上传

  • 创建命令 pod spec create 工程名
  • 填写描述信息
    • s.description 的长度要大于 s.summary
    • s.license = "MIT"
    • s.source 填写项目远程地址和tag
  • 验证描述信息 pod spec lint podspec文件
  • 注册trank pod trunk register 664095924@qq.com 'closer' --verbose
  • 通过trunk推送podspec文件 pod trunk push

4.更新本地pod 第三方框架信息数据源

pod setup
可以省略这一步骤, 因为上述提交, 直接更新了本地索引库

5.测试

先删除本地索引文件,再使用pod search 命令搜索自己的框架, 如果可以搜索到, 那么代表审核通过了


cocoapods重要路径

本地索引库: /Users/closer/.cocoapods/repos/master/Specs
检索索引文件: /Users/closer/Library/Caches/CocoaPods

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • CocoaPods 是什么? CocoaPods 是一个负责管理 iOS 项目中第三方开源库的工具。CocoaPo...
    朝洋阅读 25,823评论 3 50
  • 一. CocoaPods的介绍 什么是CocoaPods?CocoaPods是一个负责管理iOS项目中第三方开源库...
    辉712阅读 9,397评论 0 7
  • 项目组件化、平台化是技术公司的共同目标,越来越多的技术公司推崇使用pod管理第三方库以及私有组件,一方面使项目架构...
    swu_luo阅读 22,525评论 0 39
  • 今天家里来了好几个客人,快过中秋了,亲戚来回走动走动。姑姑家的媳妇带着孩子也来了,半岁的孩子拉肚子,来了几个小时拉...
    拥抱幸福a阅读 1,475评论 0 0