zoukankan      html  css  js  c++  java
  • 苹果审核返回崩溃日志 iOS .crash文件处理 symbolicatecrash.  困扰我多年的牛皮癣根治了 看到这篇文章拿过来用下

    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

    最近又踩坑了,后缀最好以.crash结尾。

  • 相关阅读:
    Next Permutation
    Substring with Concatenation of All Words
    Divide Two Integers
    Remove Duplicates from Sorted Array
    3sum closest
    ThreadPoolExecutor参数与拒绝策略
    多线程情况下ArrayList 如何解决线性安全问题
    ArrayList扩容机制jdk1.8
    SpringCloud--工作流程(好文)
    Java面试——TCP与HTTP
  • 原文地址:https://www.cnblogs.com/whx060900/p/7985302.html
Copyright © 2011-2022 走看看