美文网首页
组件化(一)

组件化(一)

作者: cdd48b9d36e0 | 来源:发表于2017-11-13 16:52 被阅读7次

一、git的基本使用

第一步 连接远程仓库和本地仓库:

方法一
  1. 在GitHub上建一个远程仓库
  2. 在本地笔记本上准备好存放仓库的文件夹
  3. 终端cd到这个文件夹
  4. 打开终端输入git clone + 远程仓库url
  5. 在这个新文件夹里面就可以开始创建Xcode项目了

方法二

  1. 在GitHub上建一个远程仓库
  2. 在本地笔记本上准备好存放仓库的文件夹
  3. 终端cd到这个文件夹
  4. 输入git init
  5. 接下来要让本地仓库连接远程的,输入git remote add origin + 远程仓库url
  6. 最后下拉git pull origin master

第二步 初始化项目:

  1. 新建项目后输入git add .
  2. 输入git commit --m '初始化项目'提交到本地仓库
  3. 输入git push提交到远程仓库

方法二(对应第一步的方法二)

前两步与法一相同,第三步输入为:
git push origin master

第三步 给项目打上Tag:

每次commit操作都会生成一个40位哈希值的版本号,如果需要标记当前最新这个版本以便以后查用,就需要为这个版本打上Tag

  • 添加
    1. 输入git tag '0.0.1'打上标记
    2. 输入git push --tags提交到远程仓库
  • 删除
    1. 输入git tag -d 0.0.1删除本地仓库
    2. 输入git push origin :0.0.2提交

cocoapods另一种生成Podfile的方法

终端打开项目根目录,然后pod init就会生成Podfile文件

二、上传自己的三方库

第一步 完成框架源码开发

见“第一步”

第二步 准备spec描述文件

  1. 在根目录路径下输入pod spec create xxxx,xxx是项目的名字
  2. 打开创建好的xxx.podspec文件进行若干配置
    • s.summary的内容要比s.description的短,否则不能通过校验,所以把s.summary的内容减少点最好,比如改成这样
       s.summary      = "XXX."
       s.description  = <<-DESC
                        xxxxxxxxxxxxxxxxxx 
                        DESC
      
    • s.homepage替换为GitHub上源码的url
    • s.license那两行改为
      # s.license      = "MIT (example)"
      s.license      = { :type => "MIT", :file => "FILE_LICENSE" }
      
    • s.source = { :git => "http://EXAMPLE/YHWLib.git", :tag => "#{s.version}" }中的网址替换为框架GitHub的url
    • s.exclude_files = "Classes/Exclude"这一行注释掉,也就是前面加个#号
  3. 提交本地,上传到远程库

第三步 上传spec到远程索引库

  1. 给这个版本的框架添加tag并提交,注意这个tag必须要等于spec文件里version的值
  2. 校验
    • 本地校验pod lib lint
    • 远程校验pod spec lint
  3. 上传
    pod trunk push XXX.podspec
    上传之前需要注册CocoaPods Trunk

第四步 使用

由图知道,本地索引库要先pod setup后才能使用刚上传的三方库

三、pod install和pod update的区别

  • pod install会读取Podfile.lock里三方框架的版本信息,把三方框架升级到指定版本,这样就可以保证大家的三方框架版本都是一致的。如果没有Podfile.lock,则会读取Podfile文件,并生成一个Podfile.lock文件,这个Podfile.lock文件里面的三方框架版本是这样生成的,若Podfile文件里的三方框架指定了版本,就记录该版本信息,若没有则记录最新版本
  • pod update会直接读取Podfile文件

相关文章

  • 封装组件-面向对象

    tab组件化tab组件化代码 图片曝光组件化图片曝光组件化代码 轮播组件化轮播组件化代码

  • Android组件化 - gradle配置(一)

    一、什么是组件化 什么是组件化呢? 组件化、插件化、模块化之间有什么区别呢? 组件化:每个组件都是独立的功能模块,...

  • 面试3

    12、iOS组件化 iOS组件化及架构设计关于组件化网上组件化的文章很多。很多文章一提到组件化,就会说解耦,一说到...

  • 组件化方案

    组件化方案引用 在现有工程中实施基于CTMediator的组件化方案 iOS组件化实践(一):简介 iOS组件化实...

  • Android 插件化与组件化

    一、组件化 组件化,就是把APP拆分成不同功能模块,形成独立组件,让宿主调用。组件化不一定是插件化,组件化是一个更...

  • iOS组件化(二)----- 组件的更新

    组件化系列传送门 iOS组件化(一)----- 创建私有组件库(在码云上操作)iOS组件化(二)----- 组件...

  • iOS组件化(一)----- 创建私有组件库(在码云上操作)

    组件化系列传送门 iOS组件化(一)----- 创建私有组件库(在码云上操作)iOS组件化(二)----- 组件...

  • Vue-TodoList组件化思维

    一、全局组件化 二、局部组件化 三、子组件给父组件传值

  • Android:插件化

    插件化组件化 组件化与插件化的区别 组件化是Android自然提供的,例如分成lib,test组件。插件化是热更新...

  • iOS 组件化实战篇(私有库)

    前沿 本片文章主要讲解我们项目中为什么要组件化 组件化的好处 怎么使用组件化 怎么实现组件化 为什么要组件化 ...

网友评论

      本文标题:组件化(一)

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