这里介绍的是通过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文件,地址:
右键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里查看到符号表
七:总结
后续打包分发,步骤如下
- ⌘+build
- 将Products里的app文件复制出来,压缩改名生成ipa上传
- 打开终端进入到项目目录,执行sh Bugly.sh