App Store 审核新指南下 ,三招让你的iOS应用过审无忧

作为一名独立的iOS开发者,你是否遇到过以下情况:

将应用正式提交到应用商店之前进行了大量的测试工作。它在你的设备上运行得完美无误,但是,上了应用商店后,还是有用户抱怨程序会闪退 ! 

近日,App Store最新公布的审核再次掀起热潮,对于国内广大的移动开发者而言,不但态度要更加严谨,了解并熟悉苹果的审核规则变得越来越重要。看到最新版App Store审核指南,首先映入眼帘的依然是:

崩溃的程序将会被拒绝,存在错误的程序将会被拒绝。

据《2014年中国移动应用性能白皮书》调查研究,iOS的崩溃率超过8‰,Android的崩溃率超过4‰的时候活跃用户有明显下降态势。而移动应用程序崩溃指的是移动应用在运行过程中出现的强制关闭现象,从而打断用户正在进行的操作体验。这也是影响用户体验最突出的一个方面,除了会使关键业务中断,ARPU降低之后用户留存下降、DAU与MAU持续下降,从而降低品牌口碑,使每位用户的获取成本增高,进而影响整个生命周期价值。

随着项目的的开发进行,对于iOS程序崩溃的原因通常有以下几种解释:

  • @selector提供的选择器未定义,运行时造成程序崩溃。

  • 访问某个对象不存在的属性或方法

  • 访问已经被dealloc的对象。

  • 在一个线程里快速遍历某个数组,但同时在另一个线程里往数组里添加/删除数组成员。

面对不断改进的App Store审核指南,移动开发者又是如何让自己的APP变得高可用、更优质呢,目前有以下几种已知方法可供选择:

iOS模拟器:

如果你正在开发一款iOS应用,在设计和早期测试阶段可以使用iOS模拟器找出存在的问题。可以配置Xcode来专注于调试任务。举例来说,当代码运行到一个断点时,你可以让Xcode自动播放一次警告声,并创建一个命名为的Debug标签的窗口,Xcode可在此展示Debug area、Debug navigator以及断点处的代码。

崩溃日志:

一般iOS设备上的应用违反操作系统规则或应用中有Bug时,操作系统会生成一个崩溃报告,也叫崩溃日志,保存在设备上。崩溃日志上有很多有用的信息其中包括应用的闪退情况。通常,上面有每个正在执行线程的完整堆栈跟踪信息,所以可以从中了解到闪退发生时各线程都在做什么,并分辨出闪退发生在哪个线程上。

国内首家支持崩溃轨迹回放的APM工具:

听云App专注于帮助移动应用开发者监控与管理应用上线后的性能问题,及时发现用户使用过程中的崩溃、连接超时、交互卡顿等现象,通过实时呈现多维立体的性能数据并自动分析,降低App上线后的维护成本。

其中的崩溃分析功能为用户提供移动App的崩溃日志信息以及各个维度的崩溃信息统计

6.1.jpg

崩溃历史记录列表会列出图表时间段范围内所有发生的崩溃事件,包括Bug数量、崩溃发生次数、影响用户、错误摘要、发生时间段、dSYM/Mapping文件管理等等。         6.2.jpg

想要查看单个崩溃的详情,点击“错误摘要“,可以看到由该Bug引起的最后一条崩溃事件的详细信息,包括:

崩溃轨迹:记录崩溃前的操作轨迹

Bug数量:每个单次的发生该崩溃的记录列表,列表项目包括:采集时间,应用版本,操作系统版本,设备型号等

调用堆栈:包括崩溃线程和主线程的调用堆栈内容,通过dSYM/Mapping文件可以还原出真实堆栈信息

上下文信息:崩溃事件发生时的情景信息

统计图表:以饼图的形式显示当前崩溃类型按操作系统版本以及设备型号统计百分比的情况

对于某些Crash,通过堆栈信息只能看到崩溃发生在哪里,无法得知崩溃是在什么情况下发生的,这时候就需要复现崩溃发生前的用户操作轨迹,通过交互轨迹,开发者可以模拟用户的视角, 得知客户端在崩溃前都访问了哪些页面,有何操作,这样有益于用户以实际操作的方式来复现崩溃从而进行定位,这也是听云App独一无二的功能之一。

移动互联网时代,用户对操作系统的可用性要求将越来越高,iOS无疑抢占了用户心中优先选择的地位。随着APP迭代越来越快,竞争逐渐白热化,对于用户来说换一种选择的代价微乎其微,性能问题变成每个移动开发者都必须要面对的痛点。细节决定成败,希望所有开发者都能拥有好的创意、杀手级功能、高性能、高可用的移动应用程序。

关于作者

许小午

不是一个没有故事的女同学

我要评论

评论请先登录,或注册