1. iOS 组件化 之 利用Git 或 SVN 实现 Pods 库本地化配置

1. iOS 组件化 之 利用Git 或 SVN 实现 Pods 库本地化配置

在实际开发中,我们经常会用到三方库,比如AFNetworking、Masonry等,我们还会它们行裁剪、重构以适应项目的需要。当然也有自己开发的静态或者动态库。
如果我们在重构后在使用CocoaPods提交到仓储是比较麻烦的,有没有更好的办法?能不能使用Pods直接加载本地库呢?本地修改的库又怎么进行管理
我们带着问题开始本节的探索。

上面这种方式就很好的解决了上面的三个问题。

  • 1.使用Git 或者 SVN 对经常使用的三方库或者自己开发的库进行管理。
  • 2.使用脚本更新的远程仓库到本地repos
  • 3.使用pod命令引用本地库。

那下面就分别看看SVN 和 Git 管理方式吧

一、SVN 方式管理

  • 1.首先我们构建一个SVN仓储

这个就不用讲了,太老了~

  • 2.思考下库的类别。

一般是分为两种
1.三方库:github 或者其它地方下载的。
2.自己开发的库。
好了,现在可以在SVN上仓储下创建两个文件

看下它两里面的内容吧,这个就是三方库的

这个一定是用户开发的组件

创建其实很简单,那么我们不会每次开发都要自己使用命令更新吧?当然不是我们只需在工程目录下创建一个脚本即和方便的开展团队开发!


脚本的大致内容

#!/bin/shSVN="svn"POD=pod// 三方库PODS_LOC_PATH="${HOME}/.cocoapods/repos/" //定义本地路径PODS_SVN_PATH="SVN仓储地址" // SVN的仓储if [ ! -d "${PODS_LOC_PATH}" ]then    rm -fr "${PWD}/Pods"    echo "本地私有仓库\"~/.cocoapods/repos/本地路径/\"不存在,正在为你初始化,请耐心等待 ..."    cd PODS_LOC_PATH    $SVN co $PODS_SVN_PATH 'svn用户名密码' 本地库名称else    echo "更新本地仓库\"~/.cocoapods/repos/本地库名称s/\" ..."    cd $PODS_LOC_PATH    $SVN up 'svn用户名和密码'fi// 自己组件这里内容和上面类似就不多解释了// 执行pod 命令cd $SCRIPT_DIRif [ $? = 0 ]thenecho '执行 pod install --no-repo-update'${POD} install --no-repo-updatefi

二、Git 方式管理

Git 创建其实也和上面的类,就是更新脚本命令不一样
先看下Git是否安装

GIT="git"POD=podPODS_LOC_PATH="${HOME}/.cocoapods/repos/" //定义本地路径PODS_GIT_URL="GIT仓储地址" // GIT仓储地址if [ -d ${PODS_LOC_PATH} ]; then    echo "更新本地仓库\"~/.cocoapods/repos/你库的名称"..."    cd ${PODS_LOC_PATH}    ${GIT} pullelse    echo "本地私有仓库\"~/.cocoapods/repos/你库的名称/\"不存在,正在为你初始化,请耐心等待 ..."    ${GIT} clone ${PODS_GIT_URL} ${PODS_LOC_PATH}fi// 自己组件这里内容和上面类似就不多解释了// 执行pod 命令cd $SCRIPT_DIRif [ $? = 0 ]thenecho '执行 pod install --no-repo-update'${POD} install --no-repo-updatefi

现在都是会选择Git 管理,至于为什么,谁用过谁知道哈。
SVN与Git比较的优缺点差异这个我随便找找,关键要使用过,才能知道它的优秀!

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部