iOS开发:腾讯bugly符号表文件自动上传

简介: 在进行集成腾讯bugly的时候,有一个步骤就是符号表文件的上传,其上传方式有两种:一种是自动上传,另外一种是手动上传。

在进行集成腾讯bugly的时候,有一个步骤就是符号表文件的上传,其上传方式有两种:一种是自动上传,另外一种是手动上传。

为方便起见,就想着实现自动上传符号表文件。但是看到自动上传的时候,感觉需要做好多配置,有些还看不懂,就选择了手动上传符号表文件(这里,我详述了怎么手动上传符号表文件的具体流程和注意点)。但是集成的APP更新了几个版本之后,感觉手动上传还是很麻烦,有点不甘心,于是就尝试了自动上传符号表的的方法。

自动上传符号表文件还得看【官方文档】,回头再看一次的时候,发现配置自动上传符号表文件还更简单。我反思了一下,为啥之前整了好几遍就是搞不成呢,总结了一下原因:之前在做这些配置的时候,就给自己设置了心里障碍(总想着这个很难,配置好麻烦),无形中给了自己设置了关卡,整个流程看都没看完,就直接看怎么实现手动上传符号表文件了。在读的读者,当你实现这个功能后,不妨花点时间反思一下。废话说了好多,直接开始自动上传的步骤吧:


一、下载和解压工具包


还是以官方文档为主,首先下载 自动配置符号表工具包,包里有两个文件【buglySymboliOS.jar、dSYMUpload. sh】,见下图:

2018100810531260.png


二、配置Java运行环境(JRE或JDK版本需要>=1.6)


这个我已经配置好了,下面是查看配置好流程:


20181008105609784.png


20181008105705836.png


如果自己的电脑还没有安装,可以自行下载安装,这里有【Java下载安装的路径】,这里不做说明。


三、保存【buglySymbolIOS.jar】工具包


把工具包【buglySymbolIOS.jar】保存在用户主目录(Home)的bin目录下(没有bin文件夹,请自行创建),见下图:


20181008110442496.png


注: 前往文件夹方式,见下图:


20181008111006173.png



20181008111023682.png


如果没有【bin】文件夹,就进入上一级【/Users/用户名/】,然后创建bin文件夹;如果不知道用户名,则进入再上一级/Users/】,然后一次查找。


四、配置Xcode编译执行脚本


基本过程,同官方文档,增加了一些,图片说明:

在Xcode工程对应Target的Build Phases中新增Run Scrpit Phase

打开工具包中的【dSYM_upload.sh】,复制所有内容,在新增的【Run Scrpit Phase】中粘贴


20181008111646655.jpg20181008111615613.jpg



修改新增的Run Scrpit中的  为您的App ID,为您的App Key, 为App的Bundle Id,见下图:


1、项目Bundle Id获取:

20181008112417693.png



2、腾讯Bugly的App ID 和App Key获取:


20181008112508994.png

20181008111812412.jpg


脚本默认在Debug模式及模拟器编译情况下不会上传符号表,在需要上传的时候,请修改下列选项

Debug模式编译是否上传,1=上传 0=不上传,默认不上传

UPLOAD_DEBUG_SYMBOLS=0

模拟器编译是否上传,1=上传 0=不上传,默认不上传

UPLOAD_SIMULATOR_SYMBOLS=0

至此,自动上传符号表脚本配置完毕,Bugly 会在每次 Xcode 工程编译后自动完成符号表配置工作。


五、测试

将脚本设置成在Debug模式及模拟器编译情况下可以上传符号表:

20181008113811848.png

然后,写一个数组越界的的错误:

20181008113906542.png


运行后直接报数组越界的闪退,这时候在【腾讯Bugly】的闪退记录里查看到错误信息:


20181008114025759.png

20181008114047201.png


这时候是不是看到了,解析完之后的堆栈信息。哈哈,大功告成!但是你会发现【bugly平台】提示没有上传符号表文件,要我们去上传,见下图:


20181008114352411.png

但是我们已经将地址符号解析出来了,就不用去管它啦。


这时候,返回去看一下【腾讯bugly符号表文件手动上传】,会不会觉得麻烦了好多。


参考链接:

1、Bugly iOS 符号表配置


相关文章
|
11天前
|
开发框架 前端开发 Android开发
安卓与iOS开发中的跨平台策略
在移动应用开发的战场上,安卓和iOS两大阵营各据一方。随着技术的演进,跨平台开发框架成为开发者的新宠,旨在实现一次编码、多平台部署的梦想。本文将探讨跨平台开发的优势与挑战,并分享实用的开发技巧,帮助开发者在安卓和iOS的世界中游刃有余。
|
2天前
|
Java 调度 Android开发
安卓与iOS开发中的线程管理差异解析
在移动应用开发的广阔天地中,安卓和iOS两大平台各自拥有独特的魅力。如同东西方文化的差异,它们在处理多线程任务时也展现出不同的哲学。本文将带你穿梭于这两个平台之间,比较它们在线程管理上的核心理念、实现方式及性能考量,助你成为跨平台的编程高手。
|
4天前
|
存储 前端开发 Swift
探索iOS开发:从新手到专家的旅程
本文将带您领略iOS开发的奇妙之旅,从基础概念的理解到高级技巧的掌握,逐步深入iOS的世界。文章不仅分享技术知识,还鼓励读者在编程之路上保持好奇心和创新精神,实现个人成长与技术突破。
|
19天前
|
安全 数据处理 Swift
深入探索iOS开发中的Swift语言特性
本文旨在为开发者提供对Swift语言在iOS平台开发的深度理解,涵盖从基础语法到高级特性的全面分析。通过具体案例和代码示例,揭示Swift如何简化编程过程、提高代码效率,并促进iOS应用的创新。文章不仅适合初学者作为入门指南,也适合有经验的开发者深化对Swift语言的认识。
39 9
|
15天前
|
设计模式 Swift iOS开发
探索iOS开发:从基础到高级,打造你的第一款App
【10月更文挑战第40天】在这个数字时代,掌握移动应用开发已成为许多技术爱好者的梦想。本文将带你走进iOS开发的世界,从最基础的概念出发,逐步深入到高级功能实现,最终指导你完成自己的第一款App。无论你是编程新手还是有志于扩展技能的开发者,这篇文章都将为你提供一条清晰的学习路径。让我们一起开始这段旅程吧!
|
18天前
|
Android开发 Swift iOS开发
探索安卓与iOS开发的差异和挑战
【10月更文挑战第37天】在移动应用开发的广阔舞台上,安卓和iOS这两大操作系统扮演着主角。它们各自拥有独特的特性、优势以及面临的开发挑战。本文将深入探讨这两个平台在开发过程中的主要差异,从编程语言到用户界面设计,再到市场分布的不同影响,旨在为开发者提供一个全面的视角,帮助他们更好地理解并应对在不同平台上进行应用开发时可能遇到的难题和机遇。
|
16天前
|
iOS开发 开发者
探索iOS开发中的SwiftUI框架
【10月更文挑战第39天】在苹果的生态系统中,SwiftUI框架以其声明式语法和易用性成为开发者的新宠。本文将深入SwiftUI的核心概念,通过实际案例展示如何利用这一框架快速构建用户界面,并探讨其对iOS应用开发流程的影响。
|
19天前
|
JSON 前端开发 API
探索iOS开发之旅:打造你的第一个天气应用
【10月更文挑战第36天】在这篇文章中,我们将踏上一段激动人心的旅程,一起构建属于我们自己的iOS天气应用。通过这个实战项目,你将学习到如何从零开始搭建一个iOS应用,掌握基本的用户界面设计、网络请求处理以及数据解析等核心技能。无论你是编程新手还是希望扩展你的iOS开发技能,这个项目都将为你提供宝贵的实践经验。准备好了吗?让我们开始吧!
|
22天前
|
存储 数据可视化 Swift
探索iOS开发之旅:从新手到专家
【10月更文挑战第33天】在这篇文章中,我们将一起踏上一场激动人心的iOS开发之旅。无论你是刚刚入门的新手,还是已经有一定经验的开发者,这篇文章都将为你提供宝贵的知识和技能。我们将从基础的iOS开发概念开始,逐步深入到更复杂的主题,如用户界面设计、数据存储和网络编程等。通过阅读这篇文章,你将获得成为一名优秀iOS开发者所需的全面技能和知识。让我们一起开始吧!
|
23天前
|
移动开发 Java Android开发
探索Android与iOS开发的差异性与互联性
【10月更文挑战第32天】在移动开发的大潮中,Android和iOS两大平台各领风骚。本文将深入浅出地探讨这两个平台的开发差异,并通过实际代码示例,展示如何在各自平台上实现相似的功能。我们将从开发环境、编程语言、用户界面设计、性能优化等多个角度进行对比分析,旨在为开发者提供跨平台开发的实用指南。
38 0