怎样建个网站,seo是搜索引擎营销,淘宝网站是谁做的,文章资讯类网站首先我们经常会闪退的异常有哪些呢#xff1f;crash的产生来源于两种问题#xff1a;违反iOS策略被干掉#xff0c;以及自身的代码bug。1.IOS策略1.1低内存闪退前面提到大多数crash日志都包含着执行线程的栈调用信息#xff0c;但是低内存闪退日志除外#xff0c;这里就先…首先我们经常会闪退的异常有哪些呢crash的产生来源于两种问题违反iOS策略被干掉以及自身的代码bug。1.IOS策略1.1低内存闪退前面提到大多数crash日志都包含着执行线程的栈调用信息但是低内存闪退日志除外这里就先看看低内存闪退日志是什么样的。我们使用Xcode 5和iOS 7的设备模拟一次低内存闪退然后通过Organizer查看产生的crash日志可以发现Process和Type都为Unknown1.2Watchdog超时Apple的iOSDeveloper Library网站上QA1693文档中描述了Watchdog机制包括生效场景和表现。如果我们的应用程序对一些特定的UI事件(比如启动、挂起、恢复、结束)响应不及时Watchdog会把我们的应用程序干掉并生成一份响应的crash报告。1.3用户强制退出一看到“用户强制退出”首先可能想到的双击Home键然后关闭应用程序。不过这种场景是不会产生crash日志的因为双击Home键后所有的应用程序都处于后台状态而iOS随时都有可能关闭后台进程所以这种场景没有crash日志。另一种场景是用户同时按住电源键和Home键让iPhone重启。这种场景会产生日志(仅验证过一次)但并不针对特定应用程序。这里指的“用户强制退出”场景是稍微比较复杂点的操作先按住电源键直到出现“滑动关机”的界面时再按住Home键这时候当前应用程序会被终止掉并且产生一份相应事件的crash日志。通常用户应该是遇到应用程序卡死并且影响到了iOS响应才会进行这样的操作——不过感觉这操作好高级所以这样的crash日志应该比较少见。2.代码bug此外比较常见的崩溃基本都源于代码bug比如数组越界、插空、空引用、引用未定义方法、多线程安全性、访问野指针、发送未实现的selector等。再来谈谈获取iOS设备上崩溃日志(Crash Log)的方法第一个方法XCode 的菜单Window-Organizer选择Devices - 选中的手机 - 点击手机名称左边的箭头 会等到如下图在右边竖蓝色矩形框中 Type里面出现两种类型Unknown和Crash 这两种类型分别是 内存不够回收内存kill应用程序导致Crash和程序异常Crash的日志。第二种方法 打开手机 - 设置 - 通用 - 关于本机 - 诊断与用量 - 诊断与用量数据 这里面就是所有应用的Crash日志。(本人没找到这个)第三种方法 使用第三方软件itools等如果你平时不用iTunes而是使用itools这类第三方的软件对iPhone设备进行管理也是没问题的。打开itools在你的设备下找到“高级功能”点击“崩溃日志”然后将需要的日志导出到电脑里面就可以了第四种方法 通过iTunes Connect(Manage Your Applications - View Details - Crash Reports)获取用户的crash日志大部分用户可能都会使用iTunes软件来管理iPhone或者iPad设备这时候同步的Crash日志就会同步到电脑上我们只需要在特定的路径里面寻找即可。Mac OS X~/Library/Logs/CrashReporter/MobileDeviceWindows XPC:\Documents and Settings\Application Data\Applecomputer\Logs\CrashReporterWindows 7/Vista: C:\Users\计算机登录名\AppData\Roaming\AppleComputer\Logs\CrashReporter\MobileDevice