在实际开发中,我们经常会用到三方库,比如AFNetworking、Masonry等,我们还会它们行裁剪、重构以适应项目的需要。当然也有自己开发的静态或者动态库。
如果我们在重构后在使用CocoaPods提交到仓储是比较麻烦的,有没有更好的办法?能不能使用Pods直接加载本地库呢?本地修改的库又怎么进行管理?
我们带着问题开始本节的探索。
- 1.使用Git 或者 SVN 对经常使用的三方库或者自己开发的库进行管理。
- 2.使用脚本更新的远程仓库到本地repos
- 3.使用pod命令引用本地库。
那下面就分别看看SVN 和 Git 管理方式吧
一、SVN 方式管理
- 1.首先我们构建一个SVN仓储
这个就不用讲了,太老了~
- 2.思考下库的类别。
一般是分为两种
1.三方库:github 或者其它地方下载的。
2.自己开发的库。
好了,现在可以在SVN上仓储下创建两个文件夹
脚本的大致内容
#!/bin/sh
SVN="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_DIR
if [ $? = 0 ]
then
echo '执行 pod install --no-repo-update'
${POD} install --no-repo-update
fi
复制代码
二、Git 方式管理
Git 创建其实也和上面的类,就是更新脚本命令不一样
先看下Git是否安装
GIT="git"
POD=pod
PODS_LOC_PATH="${HOME}/.cocoapods/repos/" //定义本地路径
PODS_GIT_URL="GIT仓储地址" // GIT仓储地址
if [ -d ${PODS_LOC_PATH} ]; then
echo "更新本地仓库\"~/.cocoapods/repos/你库的名称"..."
cd ${PODS_LOC_PATH}
${GIT} pull
else
echo "本地私有仓库\"~/.cocoapods/repos/你库的名称/\"不存在,正在为你初始化,请耐心等待 ..."
${GIT} clone ${PODS_GIT_URL} ${PODS_LOC_PATH}
fi
// 自己组件
这里内容和上面类似就不多解释了
// 执行pod 命令
cd $SCRIPT_DIR
if [ $? = 0 ]
then
echo '执行 pod install --no-repo-update'
${POD} install --no-repo-update
fi
复制代码
现在都是会选择Git 管理,至于为什么,谁用过谁知道哈。
SVN与Git比较的优缺点差异这个我随便找找,关键要使用过,才能知道它的优秀!