利用shell语句批量修改plist文件

场景:由于业务需要,每次打包需要打包多个ipa,只是图片和名称不一样,由于用的是企业账号,每次更新需要修改ipa的指向文件,浏览器安装ipa的链接地址:

  itms-services:///?action=download-manifest&url=https://xxxx.yyyy.zzzz.com/ios/v2.01/XXXXXXXXXXX.plist

后面的plist就是我要修改的文件,每次修改其实修改的的是版本号,其他的东西基本上都不用修改,这里我用shell语句进行批量操作,之前使用shell进行批量打包 传送门

我才用的方式是读取文件,然后进行修改文件,重新定向。

#生成Plist文件
echo "-----------"
echo "生成Plist文件"

#IPA的版本
version=2.08
OldVersion=2.07 #固定变量不用修改


if [ ! -d "../Resign-ipa/plist/${version}/" ]; then
    mkdir ../Resign-ipa/plist/${version}
else
    echo "文件夹已经存在"
fi

for file in ../Package/ipa/Plist/*
do
    if test -f $file
    then
        fileName=${file##*/} // 获取文件名
        cat ${file} | sed "s/${OldVersion}/${version}/g" > plist/${version}/${fileName}
    fi
done

echo "生成Plist文件完成"
echo "-----------"

1.判断要存放的目录是否为存在 如果不存在则创建一个存放目录。

if [ ! -d "../Resign-ipa/plist/${version}/" ]; then
    mkdir ../Resign-ipa/plist/${version}
else
    echo "文件夹已经存在"
fi

-d:判断后面的文件是否为目录文件。

2.遍历我的模板文件,这个模板文件我提前存放在我的一个文件夹中

3.获取每次遍历的文件内容,修改后重定向成新的文件。

        cat ${file} | sed "s/${OldVersion}/${version}/g" > plist/${version}/${fileName}

cat:获取文件内容 利用sed 命令替换版本号,最后重新生成一个新的文件。

以上就是我批量处理的修改plist文件的代码,现在我正在做优化处理,争取打包到批量分包,到修改配置文件都做成一键搞定,完全释放时间,后续我会继续更新。







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值