iOS开发-bugly符号表自动上传发布自动化shell

这里介绍的是通过build得到的app文件和dSYM文件来打包分发和符号表上传。
通过Archive方式打包和获得符号表的方式以后再说。

一:bugly工具jar包准备

bugly符号表工具下载地址:(下载完成后放入项目目录下,如不想加入git可通过gitIgnore忽略)

bugly工具下载
https://bugly.qq.com/v2/downloads
版本号: '3.3.4’2021-06-11

二:java环境准备

bugly符号表工具需要java1.8(java8),截止2023年最新是java19,所以需要卸载最新的java,安装1.8。

java1.8官网下载地址
https://www.oracle.com/java/technologies/downloads/#java8-mac

具体安装问题可以看我的这篇文章:

iOS开发-bugly符号表-错误: 尝试打开文件buglyqq-upload-symbol.jar时出现意外错误
https://blog.csdn.net/z040145/article/details/129399847

三:Xcode编译时生成dSYM文件

Xcode工程->Targets->Build Settings->Debug Information Format
值改为DWARF with dSYM File

这样build之后,就会生成app文件和dSYM文件,地址:
iOS开发-bugly符号表自动上传发布自动化shell_第1张图片
右键show in finder之后可以看到
iOS开发-bugly符号表自动上传发布自动化shell_第2张图片

四:通过build的app文件打包分发

新建目录Payload,复制上面得到的app文件进去
iOS开发-bugly符号表自动上传发布自动化shell_第3张图片
右键压缩"Payload",得到一个Payload.zip文件,修改文件名Payload.ipa。
ipa文件就可以用于蒲公英、小飞机等平台分发。

五:创建shell文件

打开终端,进入到项目目录

vi Bugly.sh
生成一个用来运行的shell文件

代码如下,复制进Bugly.sh,有些字段需要替换为自己的app信息
其中devicePath是上面图里的
iOS开发-bugly符号表自动上传发布自动化shell_第4张图片

#!/usr/bin/env bash

#用户名-需要自定义替换
userName="6666666666"
#设备-需要自定义替换
devicePath="XXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXx"
#项目地址-需要自定义替换
projPath="/Users/"$userName"/Documents/workSpace/666666666"
#bugly注册的app信息-需要自定义替换
appName="666666666"
appid="6666666666"
appkey="66666666-6666-6666-6666-6666666666"

#bugly的jar包放在项目目录下
jar_name=buglyqq-upload-symbol.jar

#build地址
buildPath="/Users/"$userName"/Library/Developer/Xcode/DerivedData/"$devicePath"/Build/Products/Debug-iphoneos"
#dSYM的地址,可以输入
if [ "$1" = "" ];
then
dSYMPath=$buildPath"/"$appName".app.dSYM"
else
dSYMPath=$1
fi
echo $dSYMPath

#plist和解析
plistPath=$dSYMPath"/Contents/Info.plist"
appVersion=`/usr/libexec/PlistBuddy -c "Print :CFBundleShortVersionString" $plistPath`
appBuild=`/usr/libexec/PlistBuddy -c "Print :CFBundleVersion" $plistPath`
appBundleId=`/usr/libexec/PlistBuddy -c "Print :CFBundleIdentifier" $plistPath`

#平台
platform="IOS"

cd $projPath
Java -jar $jar_name -appid $appid -appkey $appkey -bundleid $appBundleId -version $appVersion -platform $platform -inputSymbol $dSYMPath

六:shell的运行

打开终端,进入到项目目录,执行shell命令:

sh Bugly.sh

等待运行,成功后就可以在bugly里查看到符号表

七:总结

后续打包分发,步骤如下

  1. ⌘+build
  2. 将Products里的app文件复制出来,压缩改名生成ipa上传
  3. 打开终端进入到项目目录,执行sh Bugly.sh

你可能感兴趣的:(iOS,自动化,xcode,bugly,shell,iOS)