使用总结:

一. 创建索引库

1.创建远程索引库

  在远程创建一个索引库(码云),私有的

2.创建本地索引库,并与远程索引库关联

pod repo add <本地索引库名称>  <远程索引库地址.git>

//查看是否创建成功

  pod repo

二.创建远程代码库

  1.在远程创建一个代码库(码云),私有的

  2.创建<模板测试工程>(也就是组件)

  pod lib create <组件名>     //会生成spec文件 和 测试工程

  //然后,将<组件>拷贝到 Classes文件夹中即可,然后执行, pod install      此时, 打开测试工程,可以进行一些修改操作

   2.1 也可以直接创建spec 文件 ,然后配置

  //pod spec create + 私有库名字    //直接生成spec 文件

  

  3.修改 spec 文件

Pod::Spec.new do |s|
 
#私有库名称
  s.name         = "xsspec"
#版本, 也是tag
  s.version      = "0.0.1"
#摘要
  s.summary      = "xsbase"
#描述,需比摘要更详细
  s.description  = 'xsbase可展开收缩'
#项目主页地址(无.git后缀)
  s.homepage     = "https://gitee.com/DaXueShan/xsbase"
#开源许可类型
  s.license      = "MIT"
 #s.license      = { :type => "MIT", :file => "FILE_LICENSE" }
#作者
  s.author       = { "xueshan1" => "xueshan1@staff.sina.com.cn" }
#最低支持版本
  s.platform     = :ios, "9.0"
#仓库路径(有.git后缀) 项目需要打tag
  s.source       = { :git => "https://gitee.com/DaXueShan/xsbase.git", :tag => "#{s.version}" }
#资源文件路径(相对于.git目录开始的, **表示匹配所有子目录, *表示匹配所有文件, 如SFString1/*.{h,m})
s.source_files  = "xsbase/*"
 
#依赖的库,要填写s.dependency
#s.dependency "JSONKit", "~> 1.4"
#s.dependency "Masonry", "~> 1.0.0"
 
end
 

  4.将<模板测试工程> 提交到 1 创建的远程代码库, 通过 git 操作

  git push

  //打标签

  git tag 0.1.0 (与. spec 中的 s.version 相同)

  git push --tags

 

三.提交 podspecspec 到本地索引库 (它会自动同步到远程)

  验证spec:

  pod lib lint --verbose --use-libraries --allow-warnings

         --allow-warnings (验证时允许有警告)

         --verbose (显示检查编译的详细信息)

        --use-libraries (podspec文件中依赖了静态库造成的验证不通过,可加上这个参数)

  提交spec :

   pod repo push <XXspec本地索引库名称>   <XXTools.podspec  spec 文件名>  --verbose --allow-warnings
 

  验证过程出现的 Error

- ERROR | [iOS] unknown: Encountered an unknown error (Could not find a `ios` simulator ...

解决方案:

 升级cocoapods即可解决 sudo gem install cocoapods

 

四.集成到项目中

在 podfile 文件中需要制定组件的源

source '第一步创建的远程索引库的地址.git' . 注意是spec库的地址,而不是项目仓库的地址

source 'https://gitee.com/DaXueShan/XSRemoteSpec.git' 

platform :ios,'10.0'

target 'MainProject' do

pod 'XSBaseZujian','0.1.0'

end

参考:

  http://www.cnblogs.com/hs-funky/p/6780203.html

http://www.jianshu.com/p/4b63dfbd8be7

http://www.code4app.com/blog-865196-47193.html .  上传到公共github仓库

https://blog.csdn.net/donnydn/article/details/79823566 推荐

 


最新文章

  1. 【刷题记录】GCJ 2.71~2.72
  2. LoadRunner 函数之lr_xml_find
  3. Jenkins 2.26 发布,可扩展的持续集成引擎
  4. 获取iOS系统版本 --- UIDevice
  5. C++实现网格水印之调试笔记(二)
  6. 求两个字符串最长子串的LCS算法 C语言实现(简短的实现函数)
  7. IOS 排序算法
  8. MYSQL SET类型字段的SQL查询某个字段保函某个值的查询
  9. RobotFramework环境搭建
  10. JavaSE思维导图(七)
  11. 积累的VC编程小技巧之按钮
  12. EXCEL读写NPOI--导出功能
  13. Storm InvalidTopologyException: null
  14. (4)Object对象的几个常用方法
  15. Nodejs.安装.非源码方式安装Node.js (Centos)
  16. Storm入门(十三)Storm Trident 教程
  17. BurpSuite工具抓取手机的流量
  18. Javascript高级编程学习笔记(65)—— 事件(9)复合事件
  19. PAT A1012 The Best Rank (25 分)——多次排序,排名
  20. 开始 App前 需要考虑的几项

热门文章

  1. 设置mysql表名大小写不敏感
  2. tomcat 三种部署方式以及server.xml文件的几个属性详解
  3. mysql权限表
  4. GCD详细介绍
  5. Android添加Menu菜单
  6. IDEA创建Maven Web 项目
  7. 数据存储的两种方式:Cookie 和Web Storage(转)
  8. jquery获取元素在文档中的位置信息以及滚动条位置(转)
  9. cocos2d-js 浏览器与JSB内存管理机制的不同
  10. Maven 导包后,在Maven Dependencies 里面却没有相应的包