AppStore审核被拒,返回crashLog.txt文件,可是打开后都是十六进制的地址,我们可以使用Xcode自带的 symbolicatecrash 解析得到我们需要的详细崩溃信息crashLogEnd.crash

1.在桌面创建一个crash文件夹

2.首先找到symbolicatecrash工具存放的地址(Xcode显示包内容亦可找到) 打开终端输入指令:

find /Applications/Xcode.app -name symbolicatecrash -type f

稍等片刻得到地址:/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash

3.用命令将symbolicatecrash拷贝到桌面的crash文件夹里
   cp /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKitBase.framework/Versions/A/Resources    /symbolicatecrash /Users/XXX/Desktop/crash

4.Xcode>Window>Organize在Archives找到上传的App-右击-Show in Finder 右击后显示包内容 复制ProjectName.app和ProjectName.app.dSYM到crash文件夹里

5.校验ProjectName.app、ProjectName.app.dSYM、crashLog.txt 的UUID是否一致

dwarfdump --uuid ProjectName.app/ProjectName

dwarfdump --uuid ProjectName.app.dSYM
  崩溃日志的UUID 在 Binary Images: 下第一行 ProjectName arm64 后

6.终端输入

./symbolicatecrash /Users/XXX/Desktop/crach/crashLog.txt /Users/XXX/Desktop/crach/ProjectName.app.dSYM > crashLogEnd.crash

出现 Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69. 输入 export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"

后再次输入

./symbolicatecrash /Users/XXX/Desktop/crach/crashLog.txt /Users/XXX/Desktop/crach/ProjectName.app.dSYM > crashLogEnd.crash

最后可以根据crashLogEnd.crash详细崩溃信息对程序进行修复

补充:
Exception Type:       异常类型


Exception Codes:     异常出错的代码(常见代码有以下几种)


0x8badf00d错误码:Watchdog超时,  看门狗定时器超时导致       Ate Bad Food

0xbaaaaaad错误码:用户按住Home键和音量键,获取当前内存状态,不代表崩溃。


0xbad22222错误码:VoIP应用被干掉。


0xc00010ff错误码:太热, “cool off”。


0xdead10cc错误码:在后台时仍然占据系统资源(通讯录)被干掉,意为“dead lock”。
     0xdeadfa11错误码:用户强制退出,意为“dead fall”。
Triggered by Thread:     在某一个线程出了问题导致crash,Thread 0  为主线程、其它的都为子线程


Last Exception Backtrace:     最后异常回溯

//千万加看好空格,之前没有加空格,被坑了好惨,看到有空格,试了下果然好使了

./symbolicatecrash空格/Users/XXX/Desktop/crach/crashLog.txt空格/Users/XXX/Desktop/crach/ProjectName.app.dSYM空格>空格crashLogEnd.crash

苹果审核返回崩溃日志 iOS .crash文件处理 symbolicatecrash.  困扰我多年的牛皮癣根治了 看到这篇文章拿过来用下的更多相关文章

  1. iOS: Crash文件解析(一)

    iOS Crash文件的解析(一) 开发程序的过程中不管我们已经如何小心,总是会在不经意间遇到程序闪退.脑补一下当你在一群人面前自信的拿着你的App做功能预演的时候,流畅的操作被无情地Crash打断. ...

  2. iOS Crash文件的解析

    iOS Crash文件的解析 开发程序的过程中不管我们已经如何小心,总是会在不经意间遇到程序闪退.脑补一下当你在一群人面前自信的拿着你的App做功能预演的时候,流畅的操作被无情地Crash打断.联想起 ...

  3. iOS .Crash文件分析处理办法 (利用symbolicatecrash工具处理)

    崩溃分析方式:命令行解析Crash文件 通过Mac自带的命令行工具解析Crash文件需要具备三个文件 symbolicatecrash,Xcode自带的崩溃分析工具,使用这个工具可以更精确的定位崩溃所 ...

  4. [转][iOS Crash文件分析]-如何使用symbolicatecrash工具

    上传一软件,被拒了,自己测试了n遍都未出现这个情况,今天用symbolicatecrash工具分析了一下苹果提供的Crash文件,最终查到是 - (void)mapView:(MKMapView *) ...

  5. 获取iOS 设备上崩溃日志 (Crash Log)的方法

    1. iTunes同步获取 大部分用户会使用iTunes软件来管理iPhone,这样同步的Crash日志就会同步到电脑上,我们需要在特定的路径里面查找 Mac OS X:~/Library/Logs/ ...

  6. 【转】 分析iOS Crash文件:符号化iOS Crash文件的3种方法

    当你的应用提交到AppStore或者各个渠道之后,请问你多久会拿到crash文件?你如何分析crash文件的呢? 上传crash文件 你的应用应当有模块能够在应用程序crash的时候上传crash信息 ...

  7. 分析iOS Crash文件:符号化iOS Crash文件的3种方法

    转自:http://www.cocoachina.com/industry/20140514/8418.html 转自wufawei的博客 当你的应用提交到App Store或者各个渠道之后,请问你多 ...

  8. 分析iOS Crash文件,使用命令符号化iOS Crash文件

    TBMainClient.ipa改名为TBMainClient.zip并解压得到TBMainClient.app 然后将TBMainClient.app      TBMainClient.app.d ...

  9. 异步文件通道Java NIO你需要了解多少,来看看这篇文章

    在Java 7,AsynchronousFileChannel 被添加到了Java NIO中.使用AsynchronousFileChannel可以实现异步地读取和写入文件数据. 创建一个Asynch ...

随机推荐

  1. 函数chdir、fchdir和getcwd

    函数chdir.fchdir和getcwd chdir.fchdir函数     每个进程都有一个当前工作目录,当前目录是进程的一个属性     当用户登录UNIX系统时,其当前工作目录通常是口令文件 ...

  2. python变量命名规则

    在Python中使用变量时,需要遵守一些规则和指南.违反这些规则将引发错误,而指南旨在让你编写的代码更容易阅读和理解.请务必牢记下述有关变量的规则.  变量名只能包含字母.数字和下划线.变量名可以字 ...

  3. mysql主从同步+mycat读写分离+.NET程序连接mycat代理

    背景 最近新项目需要用到mysql数据库,并且由于数据量大的原因,故打算采用1主1从(主数据库负责增.删.改操作:从数据库负责查操作)的数据库架构,在实现主从之后还要实现读写分离的代理,在网上搜寻了很 ...

  4. 1.Servlet介绍 和 HTTP协议简述

    1. Servlet是什么? sun公司制订的一种用来扩展web服务器功能的组件规范. (1)扩展web服务器功能 注: 早期的web服务器只能处理静态资源的请求,即需要事先将 html文件准备好,并 ...

  5. ASP.NET Core教程【二】从保存数据看特有属性与服务端验证

    前文索引: 在layout.cshtml文件中,我们可以看到如下代码: <a asp-page="/Index" class="navbar-brand" ...

  6. Windows server2012如何运行Javaweb项目?

    最近用java写了个小项目,想要部署到服务器,于是买了个Windows server2012,但是不知道怎么部署,后来才知道需要配置java运行环境.经过一番研究最终搞定了.下边是我的个人总结,由于是 ...

  7. android堆栈调试--详细

    1.将ndk中的arm-linux-androideabi-addr2line可执行文件的路径加入配置文件~/.bashrc中,例如: export PATH=$PATH:~/dlna/android ...

  8. You may rarely look at it. But you'll always feel it

    You may rarely look at it. But you'll always feel it

  9. Less的内置函数

    杂项函数 color 解析颜色,将代表颜色的字符串转换为颜色值. 参数: string: 代表颜色值的字符串. 返回值: color 案例: color("#aaa"); 输出: ...

  10. spring bean的创建过程

    spring的核心容器包括:core.beans.context.express language四个模块.所以对于一个简单的spring工程,最基本的就是依赖以下三个jar包即可: <depe ...