美文网首页
组件化集成步骤及发布CocoaPods

组件化集成步骤及发布CocoaPods

作者: 宇轩Simid | 来源:发表于2020-09-07 18:13 被阅读0次

组件化集成步骤


1. 准备工作

  • 完整安装 CocoaPods
  • Xcode
  • 本次演示是在Mac OS 10.15.6

2. 创建组件工程

pod lib create YXBase
1@2x.png
  • 首先需要输入你的邮箱,如果之前有登录过,就不需要输入了。
  • 接下来按照下面的提示一步步输入即可,输入完成后,便可以自动打开组件工程。

3. 替换ReplaceMe,创建自己的组件类,开发在这一步。

创建完成的组件工程项目中,在Pods -> Development Pods -> YXBase 中有一个ReplaceMe.m ,这个文件需要替换成我们自己的类。

我添加了 YXBaseObjc

接着需要进行 pod install 将自己的类引入其中。ReplaceMe可以删掉了。

2@2x.png

4. 关联git

完成了本地pod依赖,但是我们肯定不会是个人开发,否则弄这个组件化的意义也不大,所以我们首先得提交到远程,一般公司里都会搭建私有仓库诸如GitLab,这里就拿GitHub来做演示。

  • 需要在自己git上创建一个repository。

  • git init // 初始化git
    git add . // 将所有文件加入打暂存区内
    git commit -m ‘init project’ //提交初始化工程
    git remote add origin https://github.com/aThinkerbomb/YXBase.git  // 本地关联git
    git push origin master -f // 推送远端 master。介于第一次推送直接 -f 强制推送
    
  • 刷新git 查看是否推送成功。

5. 这个时候其实已经关联成功,可以根据git 地址引入壳工程了。

这个时候我们可以创建一个壳工程,引入 git 地址,然后 pod install。如:我创建了一个Abc工程,并pod 我的YXBaseObjc组件。

3@2x.png 4@2x.png

6. 调用组件功能

  • 引入头文件,调用 sayHello 方法,运行。
  • 组件化基本完成。

区分版本号,组件引用三方框架 怎么处理?

那就需要修改podspec 文件,学习podspec语法

首先,需要版本区分需要打 tag

7. 推送 tag

git tag '1.0.0'
git push --tag
git push origin master

刷新git 仓库,查看多了一个 tag。这个tag分支就是将来提供给别人依赖的版本号分支,有了它,别人使用你的组件的时候就可以根据版本号来控制了。

8.每个版本需要修改你的podspec文件。

5@2x.png

接着push 到远端保持。这时候壳工程就可以根据tag来引入了。

一般我们在公司私有库上基本就到这一步就完成了。需要哪个组件,就直接引入pod就可以接入了。

但是如果想要类似 pod 'AFNetworking'这种形式引入,那就需要用 trunk方式将代码发布到CocoaPods上

等待审核通过以后,其他人就可以引用了。这个就好像提审 ipa 一样特别刺激。

9. 检查本地 podspec 是否符合规则

pod lib lint --verbose

这验证期间会遇到很多问题。需要修改warning 和 error 的问题,直到出现 YXBase passed validation 说明合法。具体看NOTE和 waining 提示修改。

接下来 就是提交到cocoapods上了

pod trunk push YXBase.podspec --verbose

提交成功后会有提示:To update use: sudo gem install cocoapods --pre。说明提交成功。

审核原来需要一个工作日左右,现在只需要几秒或几分钟。

成功后,就可以pod search到我们提交的库了。

如果搜不到,不是没传成功,是我们的本地搜索库没更新,可以先删除~/Library/Caches/CocoaPods目录下的search_index.json文件或者pod repo update一下终端执行

rm ~/Library/Caches/CocoaPods/search_index.json

再执行

pod search YXBase

10. 遇到的问题:

  • 第 8 步中 有个错误,homepage 地址中是没有 .git 的,需要注意。
  • 第 8 步中 description 的长度需要比summary 长,要不然会提示一个warning,无法通过。
  • 在第 9 步中,如果在检验podspec文件的时候出现 You need to register a session first 提示,需要你注册trunk,需要你提供你的git账号并进行验证。
//在终端执行 执行过着步骤你的邮箱会收到一个链接点击即可
pod trunk register xxxxx@163.com 'xxxxx'  --verbose
//xxxxxx@163.com 你接收邮件的邮箱 
//xxxxxx    你起的名字

//在点击邮件中的链接后执行
pod trunk me
  • 有可能会碰到一些错误,根据提示一个一个修改验证成功了。加上 --allow-warnings 可以忽略掉一些警告。

相关文章

网友评论

      本文标题:组件化集成步骤及发布CocoaPods

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