美文网首页
CocoaPod 私有库搭建

CocoaPod 私有库搭建

作者: 莪的世界木有如果 | 来源:发表于2018-10-17 15:54 被阅读41次

开始说明说明步骤之前,先做一个场景假设:
现在我要把自己项目中的首页模块Home做成私有库,方便之后的组件化执行。基于这个场景我们开始说明这个步骤:

创建一个远程索引库,这个远程索引库叫什么名字,可以自己定义,我就使用当期的项目来命名,为Business,这是个索引库,后续这个项目里面的其他模块的索引文件podspec都会放到这个下面。

  • 我们先要去coding(现在Coding和腾讯云合作,升级后就在腾讯云开发者平台)上面创建一个项目,命名为Business,如图:


    Business库
  • 创建一个repo索引库Business,地址为上面创建的Business库git地址,指令为:

pod repo add Business https://git.dev.tencent.com/wode_weiyi/Business.git

这个地址https://git.dev.tencent.com/wode_weiyi/Business.git也可以使用ssh的地址。不过后面要在podfile文件里面要与之对应,不然会自动创建一个repo索引库。

远程索引库创建完成后,下面就需要去创建一个测试的项目,测试Home模块单独出来的是否可用。建议使用pod指令创建,这样会避免后续的很多问题且简单。

pod lib creat Home

这条指令会让你做几个选择,如下面代码

What language do you want to use?? [ Swift / ObjC ] 
 > Swift

Would you like to include a demo application with your library? [ Yes / No ]
 > Yes

Which testing frameworks will you use? [ Quick / None ]
 > None

Would you like to do view based testing? [ Yes / No ]
 > Yes

这里第一个需要自己注意下,下面的跟着写就可以了!不会影响后续操作。

完成上述的选择后,你的目录文件会出现如图的样式:


文件目录

然后将单独出来的Home模块放到图中红色框中,然后把 ReplaceMe.m文件删除掉。

三(1)

执行指令

pod install
这样就完成了本地私有库的创建和测试工程,通过测试后,我们就可以把本地私有库制作成远程私有库了

三(2)
  • 再去Coding上面创建一个项目Home,用来存放Home库,并用于配置Home.podspec文件。
  • 修改Home.podspec文件里面的一些参数,先看下文件里面都有什么参数配置:
Pod::Spec.new do |s|

  s.name             = 'Home'
  s.version          = '0.1.0'
  s.summary          = '基础组件'
  s.description      = '包括基本配置,常量,扩展,工具类等'
  s.homepage         = 'https://dev.tencent.com/u/wode_weiyi/p/Home'
  s.license          = { :type => 'MIT', :file => 'LICENSE' }
  s.author           = { 'huzhihui' => 'wonderfulhzh@163.com' }
  s.source           = { :git => 'https://git.dev.tencent.com/wode_weiyi/Home.git', :tag => s.version.to_s }
  s.ios.deployment_target = '8.0'
  s.source_files = 'xxx/Classes/**/*'

end

参数说明:
s.version:版本,这个需要注意下,这里的版本需要和git上面的版本一致,不然是无法提交上去的
s.summary:简单的描述
s.description:详细描述,这个描述一定要比简单描述长
s.homepage: 见下图中的的说明
s.source:Home库的git路劲,修改git里面的地址就可以,见下图说明
s.author:用户信息
s.ios.deployment_target:支持的ios版本
s.source_files: Home库中文件的地址,具体说明可参考CocoaPods 操作过程中出现的错误中的第一个问题

地址说明
三(3)
  • 修改完Home.podspec文件后,需要使用质量检测工具检测下当前的项目Home是否没有问题。指令为:

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

如果是swift项目的话,则会出现下面这个提示:

-> Home (0.1.0)
    - WARN  | [iOS] swift_version: The validator for Swift projects uses Swift 3.0 by default, if you are using a different version of swift you can use a `.swift-version` file to set the version for your Pod. For example to use Swift 2.3, run: 
    `echo "2.3" > .swift-version`

[!] BaseComponent did not pass validation, due to 1 warning (but you can use `--allow-warnings` to ignore it).
You can use the `--no-clean` option to inspect any issue.

这个提示就是当前swift版本不正确,修改下好了,具体怎么修改,用下搜索引擎就可以了,这里不过多说明,也可以查看CocoaPods 操作过程中出现的错误中的错误5

问题都修复完成后,会得到以下提示,说明当前项目是没有问题了:

-> BaseComponent (0.1.0)

BaseComponent passed validation.

  • 接下来就要把添加的Home文件提交到本地的版本库中

git add .
git commit -m 'Home'

  • 关联远程私有库,第一次需要关联,这个git地址就是你要存放Home库的远程git地址,后面则不需要

git remote add origin https://git.dev.tencent.com/wode_weiyi/Home.git
git pull origin master //如果第一次关联的话,这语句是获取不到任何东西的,可以不写。后续的更新也可以不写
git push origin master//将本地分支推送到与之存在追踪关系的远程分支(通常两者同名),如果该远程分支不存在,则会被新建

三(4)

上面都没有问题后,就需要将podspec文件上传到Business的索引库中。
首先需要验证当前Home.podspec文件的正确性

pod spec lint --allow-warnings --use-libraries

由于我们前面都没有做过给git打版本号的操作,就会收到这个提示:

-> Home (0.1.0)
    - WARN  | summary: The summary is not meaningful.
    - ERROR | [iOS] unknown: Encountered an unknown error ([!] /usr/local/bin/git clone https://git.dev.tencent.com/wode_weiyi/Home.git /var/folders/wy/55gxbj9d1flbs8bzlhmx3xv40000gn/T/d20181017-26565-1li9z59 --template= --single-branch --depth 1 --branch 0.1.0

Cloning into '/var/folders/wy/55gxbj9d1flbs8bzlhmx3xv40000gn/T/d20181017-26565-1li9z59'...
warning: Could not find remote branch 0.1.0 to clone.
fatal: Remote branch 0.1.0 not found in upstream origin
) during validation.

Analyzed 1 podspec.

[!] The spec did not pass validation, due to 1 error.

  • 那就需要给git打版本号了

git tag '0.1.0'//这个版本一定要和Home.podspec文件中的version一致
git push --tags

  • 然后再去验证下Home.podspec文件,这一步一定不要省略,不然后面如果错了,就会更麻烦

pod spec lint --allow-warnings --use-libraries

验证通过的提示为:

-> Home (0.1.0)
    - WARN  | summary: The summary is not meaningful.

Analyzed 1 podspec.

Home.podspec passed validation.

步骤四

第四步就是将验证通过的podspec文件提交到创建的Business本地索引库中。执行

pod repo push Business Home.podspec --allow-warnings --use-libraries


通过上述的步骤,就完成了远程私有库的创建。使用的时候这里说明下。针对私有库的使用,需要在Podfile文件里面指定source地址,一个是你私有索引库的git地址,一个是cocoaPods的公有库git地址。如图:


image.png

这两个souce都需要写,不然不是pod私有库找不到就是pod公有库找不到


pod远程私有库创建就是这样,这是人为比较简单的方法。针对私有库的升级,则和私有库创建大同小异,替换掉之前Home项目里面的ReplaceMe.m同级的代码文件,然后从第三步走下来就好了!有问题欢迎咨询。

相关文章

  • CocoaPod 私有库搭建

    开始说明说明步骤之前,先做一个场景假设:现在我要把自己项目中的首页模块Home做成私有库,方便之后的组件化执行。基...

  • Cocoapod搭建私有库详细教程

    Cocoapod搭建私有库详细教程 一、准备工作 创建两个私有远程仓库 WYSpec 和 WYLib-- WYSp...

  • Cocoapod搭建私有库详细教程

    一、准备工作 创建两个私有远程仓库 WYSpec 和 WYLib-- WYSpec仓库用来存储spec-- WYL...

  • 组件化实践记录

        之前,写过文章CocoaPod创建私有库记录创建私有库,但是发现创建Paas项目的基础库的时候,没有那么简...

  • CocoaPod 私有库

    私有库用途 pods的出现极大的加速了iOS开发的速度,强大的包管理,以及强大的协作能力,让它极大的加快了我们的开...

  • cocoapod私有库创建步骤

    cocoapod私有库创建步骤 1 创建索引库 根据需求创建公开还是私有,第3步license记得选上 2 关联到...

  • cocoapod搭建私有库超级详细教程

    创建cocopod的步骤 1.创建一个spec Repo的私有远程仓库 和 一个存放pod所需的项目工程文件的远程...

  • maven备忘

    1. 搭建私有库 使用docker搭建私有maven库,docker image为sonatype/nexus3 ...

  • 操作CocoaPods库

    前两篇博文介绍了如何搭建第三方库和远端私有库,今天在此记录下对这些库的一些操作注意事项。 一、升级CocoaPod...

  • 手把手教你利用cocoapod搭建私有库

    0.前言 现在越来越多的项目开始考虑组件化开发了,因此使得cocoapod搭建私有库成为一个必备的首要的技能。如同...

网友评论

      本文标题:CocoaPod 私有库搭建

      本文链接:https://www.haomeiwen.com/subject/iufrzftx.html