一行命令即可将包含 cocoapods 的iOS 项目编译打包并上传到 fir
准备工具
- fir-cli
- Cocopods
功能
进入任意一个有.xcodeworksapce文件的目录下,输入ipack(可以自定义)即可完成编译打包上传,加上-c 更新说明
参数就可以填写本次打包的更新说明,这个说明会在 fir 上面显示出来
编写shell脚本
sh代码说明
变量定义
basepath=$(pwd)
命令行代码执行位置bName=$(basename ${basepath})
拿到项目文件夹名字description=$(basename ${basepath})
要写在 fir 的更新说明achivepath=${basepath}'/build/'${bName}'.xcarchive'
构建文件的储存位置
ipaPath=${basepath}'/'${bName}'.ipa'
ipa 的储存位置
拿到参数
1 | while getopts ":c:" opt; do` # 遍历参数 虽然现在只有一个,不过为了拓展还是可以加上去 |
判断命令是不是执行在有.xcodeworksapce
文件的目录下
$(ls *.xcwork* >/dev/null 2>&1)
清除缓存
1 | /usr/bin/xcodebuild -target ${bName} clean |
编译
1 | /usr/bin/xcodebuild -exportArchive -exportFormat ipa -archivePath ${achivepath} -exportPath ${ipaPath} |
判断编译成功了吗
if [ ! -d ${achivepath} ];
打包
/usr/bin/xcodebuild -exportArchive -exportFormat ipa -archivePath ${achivepath} -exportPath ${ipaPath}
判断打包成功了吗
if [ ! -f ${ipaPath} ];
上传到 fir
1 | fir publish ${bName}.ipa --token <你的 Fir Token> -c ${description} |
firToken 的位置
清理编译打包的文件
1 | rm -rf ${ipaPath} ${achivepath} |
完事
执行
如果你把 sh文件放在桌面的话,一般来说现在去到有.xcodeworksapce文件的目录下,执行
1 | ~/Desktop/iosPackage.sh |
就可以了,加个参数就是
1 | ~/Desktop/iosPackage.sh -c "测试测试"` |
但是~/Desktop/iosPackage.sh
太长了,所以得给他加个别名
所以执行
1 | cd ~ |
创建一个.bash_profile
文件
然后在里面填写 alias ipack='~/Desktop/iosPackage.sh'
这个ipack
你想写啥就啥
然后保存之后执行
source ./bash_profile
之后就可以直接用 ipack 代替 ~/Desktop/iosPackage.sh
ipack ipack -c "测试测试"
END