远程私有库的创建 pod 组件化

 使用总结:

一. 创建索引库

    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 推荐

  

 

 

 

 

 

  

 

posted @ 2017-05-24 23:51  Da雪山  阅读(1181)  评论(0编辑  收藏  举报