美文网首页
iOS 组件化之路(一)

iOS 组件化之路(一)

作者: StartBoy | 来源:发表于2018-06-26 09:09 被阅读0次
  1. 组件化的思想就是就是将复用的代码抽取出来用cocopods来管理代码 这样当你需要使用的时候就可以直接引用过来。

  2. 首先我们需要了解代码如何cocopods化。然后可以让别人通过 pod search yourObject 来查找到你的组件

  3. 先看下图

    组件化原理图.png
    pod search查找文件的时候 是通过你提交到远程私有仓库的podspec描述文件进行查找的。相当于这个文件就是可以Key 而你的代码相当于Value。所以我们在podSpec描述文件中就需要包括你代码的作者、版本号、源代码地址、依赖库等信息。所以任何支持Cocopods的开源代码都必须要有podspec文件。用我们的repo进行管理.

通过命令 pod repo list 可以查看本地的repo 仓库
一下这个是cocopods的。


repo文件.png

同时我们将代码推送到另一个库中进行版本管理.
接下来我们就来实现一下如何进行cocopods管理代码

  • 第一步: 创建一个代码仓库

  • 第二步:创建代码并将其推送到仓库中 这个步骤里可以使用命令行进行操作也可以通过代码管理工具进行处理。

      create a new repository on the command line
      
      echo "# CocopodsTestDemo" >> README.md
      git init
      git add README.md
      git commit -m "first commit"
      git remote add origin https://github.com/laotang013/CocopodsTestDemo.git
      git push -u origin master
      
       push an existing repository from the command line
      git remote add origin https://github.com/laotang013/CocopodsTestDemo.git
      git push -u origin master
    
    
        这个作为参考
              git add .
              git commit -m "版本号"
              git tag 版本号
              git push origin master --tags
              ./upload.sh
    

    上面的代码是直接复制githup上的代码.

    我通过命令行进行操作


    代码操作1.png
    代码操作2.png

    这样代码就推送到了githup上了
    完成上面部分已经完成了大半了。 上面的那个tag号需要和你podSpec中的version相同

  • 第三步 创建远程私有仓库 起到索引的作用

    创建podSpec文件 通过命令 pod spec create CocopodsTestDemo 创建podSpec
    然后对podSpec进行设置.这里推荐一个脚本 感谢casa大神提供
    代码连接中的ConfigPrivatePod 代码进行处理。
    这里我将其中的一些描述文件拿出来说下

    podSpec说明.png
    podSpec文件说明2.png
    这个搞定之后
  • 第五步:创建repo远程仓库

  • 第六步: 将远程私有索引库添加到本地私有索引库

    • pod repo add 名称 地址(远程私有索引库地址)
        StartdeiMac:CocopodsTestDemo Start$ pod repo add MyPodSpec https://github.com/laotang013/PodSpec.git
        Cloning spec repo `MyPodSpec` from `https://github.com/laotang013/PodSpec.git`
        StartdeiMac:CocopodsTestDemo Start$ pod repo list 进行查看
  • 第七步 将podSpec文件推送到本地索引库
    • 这里你可以首先先验证一下你的podSpec 是否有效

    • 使用命令 pod sepc lint

    • 如果有以下报错


      报错1.png
    • 打上tag就行

    • git tag '1.0.0' 这里的tag跟你的version相同

    • git push -- tags

    • 确认没有问题之后将其加入到repo 中

    • 使用命令 pod repo push [索引库名字] [ podspec文件]

    • pod repo push MyPodSpec CocopodsTestDemo.podspec

        如果出现[!] Unable to find a pod with name, author, summary, or descriptionmatching `iOS\-AlipaySDK` 这样的问题 只用一下命令
        rm ~/Library/Caches/CocoaPods/search_index.json
      

参考连接

相关文章

  • iOS组件化文章汇总

    iOS应用架构谈 组件化方案 APP组件化之路 我所理解的组件化之路 iOS 组件化方案探索 围观神仙打架,反革命...

  • 学习笔记 - iOS 组件化方案

    一、蘑菇街 App 的组件化之路 二、iOS应用架构谈 组件化方案 三、蘑菇街 App 的组件化之路·续 四、iO...

  • iOS开发之组件开发

    预读 iOS组件化思路-大神博客研读和思考iOS的组件化之路(从理解到应用)

  • iOS组件化之路总结二(github发布CocoaPods支持的

    前言 接上一篇文章:iOS组件化之路总结一(CocoaPods安装三方库原理)继续iOS组件化之路,记录一下如何发...

  • iOS 组件化

    参考:蘑菇街 App 的组件化之路蘑菇街 App 的组件化之路·续 iOS应用架构谈 组件化方案在现有工程中实施基...

  • iOS系统架构

    1: 滴滴出行iOS客户端架构演进之路 2: iOS应用架构谈 组件化方案 3:iOS组件化方案调研 4: 饿了么...

  • iOS组件化开发index

    01 iOS 组件化 —— 路由设计思路分析--冰霜02 蘑菇街 App 的组件化之路--Limboy03 蘑菇街...

  • iOS组件化

    iOS组件化 iOS组件化

  • iOS 组件化

    豆瓣App的模块化实践 手机天猫解耦之路 蘑菇街 App 的组件化之路 京东iOS客户端组件管理实践 谈谈我的理解...

  • iOS组件化方案

    iOS组件化方案 iOS组件化方案

网友评论

      本文标题:iOS 组件化之路(一)

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