构建一个自己的库供其它人使用是不是一件很酷(苦)的事情,通过CocoaPods 可以快捷的构建自己库,并向全世界分享你的成果

一、创建 Podspec

有两种方式:

  1. 使用命令 pod lib create mylib 创建一套完整的 Pod 库模版
  2. 使用命令 pod spec create mylib 创建 Podspec 的配置文件

二、配置 Podspec

官网说明:https://guides.cocoapods.org/syntax/podspec.html#specification

Pod::Spec.new do |spec|
spec.name = 'libminipng'
spec.version = '0.0.5'
spec.license = { :type => 'MIT' }
spec.homepage = 'http://www.ichochy.com'
spec.authors = { 'iChochy' => 'iChochy@qq.com' }
spec.summary = 'Swift library that compresses PNG'
spec.source = { :git => 'https://github.com/iChochy/libminipng.git', :tag => 'v3.1.0' }
spec.source_files = 'libminipng/Classes/**/*'
spec.public_header_files = "libminipng/Classes/libminipng.h","libminipng/Classes/minipng.h"
end

spec.source:检索库的远程地址

支持指定方式:

:git => :tag, :branch, :commit, :submodules
:svn => :folder, :tag, :revision
:hg => :revision
:http => :flatten, :type, :sha256, :sha1, :headers

spec.source_files: 库的源代码

通过正则方式匹配,如:

"JSONKit.?"    #=> ["JSONKit.h", "JSONKit.m"]
"*.[a-z][a-z]" #=> ["CHANGELOG.md", "README.md"]
"*.[^m]*" #=> ["JSONKit.h"]
"*.{h,m}" #=> ["JSONKit.h", "JSONKit.m"]
"*" #=> ["CHANGELOG.md", "JSONKit.h", "JSONKit.m", "README.md"]

spec.public_header_files: 公共头文件

如果OC混编,可以在公共头文件中引入OC文件,如同桥接文件

注:如果未指定公共头文件,那么source_files中的所有文件将被视为公共头文件

三、验证 Podspec

pod lib lint  	//本地验证
pod spec lint //在线验证,检查外部仓库和相关标签

如果出现警告(WARN) ,可以添加--allow-warnings忽略警告

如果出现错误(ERROR),可以添加 --verbose,查看详情

四、创建账号

  1. 注册账号:

    pod trunk register iChochy@qq.com 'iChochy' --description='macbook'
  2. 激活账号:

    完成注册后进入邮件点击激活链接进行激活操作
  3. 查看账号:

    pod trunk me

五、发布 Podspec

pod trunk push [NAME.podspec] 将您的Podspec部署到Trunk,并公开发布

pod repo push REPO [NAME.podspec] 将您的Podspec部署到私有仓库

注:如果出现警告(WARN) ,可以添加--allow-warnings忽略警告


联系方式:

邮箱:iChochy@qq.com

网站:https://www.ichochy.com

源文:https://ichochy.com/posts/20190901/

最新文章

  1. eclipse调试solr
  2. 【CoreData】 简单地使用
  3. swift基本用法-数组array
  4. Java接口回调
  5. iOS开发之组件化架构漫谈
  6. 【转】SAPI中的IspeechRecoContext(接口)
  7. Hadoop学习笔记(一)
  8. HDOJ 1301 Jungle Roads
  9. Android Studio使用OpenCV后,使APP不安装OpenCV Manager即可运行
  10. Unity3D 之NGUI各种脚本及应用
  11. struts 2学习笔记—初学struts 2
  12. SPOJ 7001 VLATTICE - Visible Lattice Points(莫比乌斯反演)
  13. Xamarin.forms 自定义dropdownview控件
  14. shell变量的替换
  15. Android使用RxJava+Retrofit2+Okhttp+MVP练习的APP
  16. 13.Linux键盘按键驱动 (详解)
  17. MySQL主从复制--原理
  18. SessionState in ASP.NET Core(转载)
  19. Tessaract 源码分析(转)
  20. Python学习手册

热门文章

  1. vue实现拖拽排序
  2. 走进springboot
  3. Prometheus联邦
  4. VIM 编辑器操作详解
  5. Dynamics CRM Report安装出错三
  6. OpenPAL3:仙三开源版的第二个小目标 Accomplish!
  7. SpringBoot-容器启动的时候执行一些内容
  8. Typora配置PicGo时,提示Failed to fetch【Bug集中营】
  9. ELK安装和配置及常用插件安装
  10. 计算机网络第一章bb测试