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

news/2024/12/29 2:10:54/

这里介绍的是通过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文件,地址:
App和dSYM文件地址
右键show in finder之后可以看到
在这里插入图片描述

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

新建目录Payload,复制上面得到的app文件进去
在这里插入图片描述
右键压缩"Payload",得到一个Payload.zip文件,修改文件名Payload.ipa。
ipa文件就可以用于蒲公英、小飞机等平台分发。

五:创建shell文件

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

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

代码如下,复制进Bugly.sh,有些字段需要替换为自己的app信息
其中devicePath是上面图里的
在这里插入图片描述

#!/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

http://www.ppmy.cn/news/31280.html

相关文章

力扣-树节点

大家好,我是空空star,本篇带大家了解一道中等的力扣sql练习题。 文章目录前言一、题目:608. 树节点二、解题1.正确示范①提交SQL运行结果2.正确示范②提交SQL运行结果3.正确示范③提交SQL运行结果4.正确示范④提交SQL运行结果5.其他总结前言 …

Oracle 11g创建和删除数据库实例

一、创建数据库实例 1.点击“开始” -> “Oracle -OraDb11g_home1” -> “Database Configuration Assistant” 2.点击“下一步” 3.选择“创建数据库”,点击“下一步” 4.默认设置,不用更改,直接点击“下一步” 5.填写要创建的“实例…

Ubuntu20.04中Docker安装与配置

一、安装 1、卸载可能存在的旧版本 sudo apt-get remove docker docker-engine docker-ce docker.io2、更新apt包索引 sudo apt-get update显示“正在读取软件包列表… 完成” 3、安装以下包以使apt可以通过HTTPS使用存储库(repository) sudo apt-get install -y apt-tran…

使用sm4js进行加密和国密sm4的总结

最近在开发过程中,用到了sm4国密加密,因为之前没有用过,所以就想总结一下。 先说一下怎么安装使用(vue项目) 1、先安装sm4js npm i sm4js在package.json中显示sm4js的版本如下: "dependencies&quo…

【DBC专题】-10-CAN DBC转换C语言代码Demo_接收Rx报文篇

案例背景(共15页精讲): 该篇博文将告诉您,CAN DBC转换C语言代码Demo,只需传递对应CAN信号关联参数,无需每个信号"左移"和"右移",并举例介绍:在CANoe/Canalyzer中CAPL中的应用&#xff…

【数据结构】链表相关题目(简单版)

🚀write in front🚀 📜所属专栏: 初阶数据结构 🛰️博客主页:睿睿的博客主页 🛰️代码仓库:🎉VS2022_C语言仓库 🎡您的点赞、关注、收藏、评论,是…

pytorch权值初始化和损失函数

pytorch权值初始化和损失函数 权值初始化 梯度消失与爆炸 针对上面这个两个隐藏层的神经网络,我们求w2的梯度 可以发现,w2的梯度与H1(上一层网络的输出)有很大的关系,当h1趋近于0时,w2的梯度也趋近于0&am…

Linux主要目录的意思

Linux目录的意思 文章目录Linux目录的意思bin目录(命令目录):二进制目录,二进制是可以直接执行的机器码,里面存放着可以执行的命令;bin目录右下角有个箭头类似于Windows的快捷方式 sbin目录:系…