美文网首页
05-组件化(远程私有库)

05-组件化(远程私有库)

作者: 紫荆秋雪_文 | 来源:发表于2017-11-03 00:58 被阅读72次

一、组件化概念介绍

  • 将一个单一工程的项目,分解成为各个独立的组件;然后按照某种方式,任意组织成一个拥有完整业务逻辑的工程

二、如何划分成为一个组件

  • 简单可以划分为:业务组件、功能组件、基础组件 组件化1.png

二、远程私有库简绍

  • 远程私有库中的“远程”表示,我们开发的代码存储到远程代码仓库中,而不是本地;“私有”表示,访问这个库是需要权限的,只有通过库的作者授权了以后,他人才可以访问使用。
  • 下面通过一幅图来对比一下 远程私有库 和 开源库 组件化.png

三、创建私有库

1、首先要找一个远程代码托管平台(码云、码市、GitHub<收费>),这些都可以。

  • 1、创建一个远程私有索引库,后续中我们所有组件的spec文件都会上传到这个远程私有索引库中


    组件化2.png

2、基础组件

  • 1、创建存放基础组件源码的远程库
  • 1、使用终端来快速创建一个私有库模板库
RemoteLibrary $ pod lib create RevanBaseModule
  • 2、在回答下面的问题
What language do you want to use?? [ Swift / ObjC ]
 > ObjC

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

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

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

What is your class prefix?
 > Revan
  • 3、把需要组件化的代码拖到模板中的Classes文件夹下 组件化3.png
  • 4、执行以下命令把代码加入项目工程中
pod install
组件化4.png
组件化5.png

3、编辑spec并且上传到远程索引库

  • 1、编辑spec 组件6.png
  • 2、递交代码到远程仓库中 组件化7.png
  • 3、打tag并且上传远程 组件化8.png
  • 4、可以对spec文件做一下验证,只有通过了验证spec文件才能上传成功
    • spec本地验证 组件化9.png
    • spec远程验证 组件化10.png
  • 5、上传spec文件到本地 组件化11.png
    • 本地索引库 组件化12.png
    • 远程索引库 组件化13.png
  • 5、小结
    • 只要执行一次上传spec文件的操作,本地索引库和远程索引库都会上传上去
pod repo push RevanSpecs RevanBaseModule.podspec

三、迭代基础组件

  • 1、把需要组件化的代码拖入Classes文件夹下
  • 2、修改podspec文件中的版本号
  • 3、提交代码到远程仓库
  • 4、打tag:1、与version版本号相同,2、推送到远程
  • 5、验证podspec文件
  • 6、上传podspec文件

四、使用私有库

  • 1、使用私有库时,必须在podfile文件中引入source 组件化14.png
  • 2、在Podfile文件中添加了source后安装成功 组件化15.png
  • 3、为什么要同时在Podfile文件中添加Cocopods官方source 和 私有source
    • 1、通常情况下使用第三方库的时候,都是使用Cocopods官方source,但是当我们使用私有库的时候,因为我们私有库的podspce文件并没有上传到CocoPods官方索引库中,所以是在不到我们的私有库,这就是为什么第一次安装失败的原因
    • 2、当我们在Podfile文件中只添加私有库的源时,因为添加了源就指定了索引库,这样会造成只能搜索到我们的私有库而搜索不到AFNetworking等等的开源库,所以,为了都能使用,当我们在使用私有库时,必须要同时在Podfile文件中添加CocoPods官方和私有source

五、subspec

  • 1、为什么要使用subspec
    • 因为有时我们项目中只是用到了基础组件中的Category文件夹中的代码,如何使用开始的方式添加私有组件的时候,会把私有组件中的所有代码统统加入到项目中,这就造成很多不必要的代码加入了项目中,而使用subspec后就会完美的解决这个问题
  • 2、subspec书写格式 组件化16.png
  • 3、使用了subspec后搜索出来的格式 组件化17.png
  • 4、没有使用subspec和使用了subspec相比较


    组件化18.png 组件化19.png
  • 5、使用私有库中多个文件夹 组件化20.png

相关文章

  • 组件化远程私有库解决方案(cocoapods基于git 、svn

    组件化远程私有库解决方案(cocoapods基于git 、svn)----高级版 组件化远程私有库解决方案(coc...

  • 组件化(第二篇)

    组件化 一、本地私有库方案优化二、远程私有库三、如何使用远端私有库四、远程私有库的升级五、远程私有库依赖问题六、远...

  • 组件化开发(四)本地私有库

    通过本地私有库实现组件化开发 组件化开发分为本地私有库和远程私有库,这里我们先来学习如何通过本地私有库实现组件化的...

  • 05-组件化(远程私有库)

    一、组件化概念介绍 将一个单一工程的项目,分解成为各个独立的组件;然后按照某种方式,任意组织成一个拥有完整业务逻辑...

  • 组件化踩坑总结

     经历了项目组件化(准备工作)项目组件化(一)创建本地私有库项目组件化(二)创建远程私有库这些天也踩了不少的坑出来...

  • 组件化 - 远程私有库

    组件化 - 远程私有库 远程私有库相对于本地私有库多了许多配置,对 .spec 文件的配置就显得尤为重要了许多 首...

  • 组件化(二):远程私有库的升级+依赖+私有库分支

    组件化学习之路文章集合: 组件化(一):搭建远程私有库 上一篇文章我们介绍了如何搭建自己的远程私有库,本篇我们就继...

  • 组件化(一):搭建远程私有库

    组件化学习之路文章集合: 组件化(二):远程私有库的升级+依赖 组件化的话,我们一般都通过cocoapods库集成...

  • 组件化开发

    一.初始化组件 二、提交远程厂库 三、私有库 ARC引用MRCw文件 四、私有库oc swift混用 五、添加...

  • iOS组件化-CocoaPods

    组件化练手,首先先使用CocoaPods创建本地私有库和远程私有库。CocoaPods大家都用过,那就废话不多说了...

网友评论

      本文标题:05-组件化(远程私有库)

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