pod 私有库搭建流程

Pod私有库是什么:

一个私有库包括:索引的私有仓库和源码的私有仓库。
索引的私有仓库:索引仓库存放的是地址,地址指向的是源码仓库。
源码的私有仓库:存放的是源码

搭建步骤

1.创建远程索引私有库

这里就说明创建的过程了,百度很多资料也非常简单
这里创建好的地址是:
https://gitlab.xiaomingsport.com/xmsport/ios/QHiOSSpecs/xmbaseframeworkrepo.git 

2.创建远程私有库

这里创建好的地址是:
https://gitlab.xiaomingsport.com/xmsport/ios/xmbaseframework.git

3.在本地添加一个自己的远程索引库

$ ~/.cocoapods/repos
$ pod repo add XMBaseFrameworkRepo https://gitlab.xiaomingsport.com/xmsport/ios/QHiOSSpecs/xmbaseframeworkrepo.git 

4.模板创建

pod lib create XMBaseFramework

将自己写好的东西放到模板提供的目录下面。下图所示(网图)


1526030776844768.gif

下图是放好的项目基础库 示意图


image.png

5.将制作好的组件上传至仓库

$ cd  /Users/Lizhijun/Desktop/XMBaseFramework
$ git remote add origin https://gitlab.xiaomingsport.com/xmsport/ios/xmbaseframework.git
$ git push -u origin master

$ git add .
$ git commit  -m  '初始化'
$ git push -u origin master

6.更改模板文件相关信息

下面是我这边设置的,可以参考下
Pod::Spec.new do |s|
  s.name             = 'XMBaseFramework'
  s.version          = '1.0.1'
  s.summary          = 'XMBaseFramework.'

# This description is used to generate tags and improve search results.
#   * Think: What does it do? Why did you write it? What is the focus?
#   * Try to keep it short, snappy and to the point.
#   * Write the description between the DESC delimiters below.
#   * Finally, don't worry about the indent, CocoaPods strips it!

  s.description      = <<-DESC
TODO: 删除UIView+XMTouchArea .
                       DESC

  s.homepage         = 'https://gitlab.xiaomingsport.com/xmsport/ios/xmbaseframework'
  # s.screenshots     = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
  s.license          = { :type => 'MIT', :file => 'LICENSE' }
  s.author           = { '志军李' => '[email protected]' }
  s.source           = { :git => 'https://gitlab.xiaomingsport.com/xmsport/ios/xmbaseframework.git', :tag => s.version.to_s }
  # s.social_media_url = 'https://twitter.com/'

  s.ios.deployment_target = '9.0'

  s.source_files = 'XMBaseFramework/Classes/**/*'
  
  # s.resource_bundles = {
  #   'XMBaseFramework' => ['XMBaseFramework/Assets/*.png']
  # }

  # s.public_header_files = 'Pod/Classes/**/*.h'
  # s.frameworks = 'UIKit', 'MapKit'
  # s.dependency 'AFNetworking', '~> 2.3'

7.验证spec文件

在创建好的模板工程 更目录执行下面的命令
pod lib lint  --private
或者
pod lib lint  --private --verbose //与上面的却别verbose可以查看验证日志

如果出现 error 必须处理掉 否则验证不通过
如果有警告的话可以进行下面这条
pod lib lint  --private --allow-warnings --verbose
制作过程中遇到的问题
1.工程编译不通过
2. s.source文件填错导致找不到文件的报错

8.给版本打一个标签(标签对应的就是pod 第三方库的版本号)

查看有哪些tag
git tag
打标签
git tag 1.0.1
将标签推送到远程仓库
git push --tags

9.最后一步,建立关联

pod repo push XMBaseFrameworkRepo XMBaseFramework.podspec
如果有警告需要用下面的命令执行忽略掉警告
pod repo push XMBaseFrameworkRepo XMBaseFramework.podspec --allow-warnings --verbose
整个打印过程没有报错 恭喜说明私有库创建成功了

使用的话 Podfile中添加创建好的私有库名称和版本号
执行
pod init
pod install 

注意的地方

使用私有库:
Podfile 文件内:
pod  ‘frameWorksName’, :git=>’https://git.xxxxxxxx.git’, :branch=>’branchName’
Branch 可以不要
如果有相同的库名字,私有和公有,不指定git路径则pod的是公有的库,即使头部source 添加了路径。

向外打包framewrok,而不是源码
    使用pod插件
    sudo gem install cocoapods-packager
    pod package 工程名.podspec —force

你可能感兴趣的:(pod 私有库搭建流程)