【问题标题】:How to symbolicate crash logs using the .xcarchive file?如何使用 .xcarchive 文件符号化崩溃日志?
【发布时间】:2014-12-27 19:47:27
【问题描述】:

我在从 .xcarchive 提取 dsym 文件以符号化崩溃日志时遇到问题。我了解 .xcarchive 包含 .app 文件和 .dsym 文件。通常,您应该能够右键单击 xcarchive 文件并选择“显示包内容”(link)。但是“显示包装内容”没有显示给我。

我还尝试使用symbolicatecrash 手动符号化崩溃日志并为其提供xcarchive 文件(link)。但是,它仍然会返回未符号化的崩溃日志。

有人知道这里会发生什么吗?感谢您的帮助,谢谢!

【问题讨论】:

  • 你有解决办法吗?

标签: ios xcode symbolicatecrash symbolicate


【解决方案1】:

我已经准备了一个带有两个参数的脚本,

  1. MyApp.crash
  2. MyApp.xcarchive

并优雅地输出MyApp_symbolicated.crash

脚本:

#!/bin/bash

if [ "$#" -ne 2 ]; then
        echo "Argument missing [symbolicate @logLocation @xcarchiveLocation]"
        exit 0
fi

if test -e "$1"; then
    echo "$1 exists"
else
    echo "$1 does not exist!"
    exit 1
fi

if test -e "$2"; then
    echo "$2 exists"
else
    echo "$2 does not exist!"
    exit 1
fi

parentdir=`pwd`
export DEVELOPER_DIR=`xcode-select -p`
PATH=$PATH:$DEVELOPER_DIR
echo $PATH
cd $DEVELOPER_DIR
cd ../SharedFrameworks/
commanddir=`pwd`
command=$commanddir/`find . -name symbolicatecrash`
cd $parentdir
crashlog="$1"
archive="$2"
outputdir=`dirname "$crashlog"`
nfile=$(echo $1 | rev | cut -f 2- -d '.' | rev)
outputfile="$nfile"_symbolicated.crash
echo $nfile
desymfile="$archive"/dSYMs/*.dSYM
$command -v "$crashlog" "$desymfile" > "$outputfile"

使用方法:

  1. /usr/local/bin/ 中创建文件symbolicate
  2. 将上述代码放入符号文件中
  3. chmod 777 symbolicate设置执行权限
  4. 使用适当的参数从您所在位置的任何位置运行

输出将在崩溃文件的同一目录中生成。

【讨论】:

    【解决方案2】:
    1. 将 iOS 设备插入包含指定存档文件夹中存档的计算机。

    2. 在 Xcode 中打开设备窗口。

    3. 打开设备日志。

    4. 将您的崩溃报告拖放到设备的日志列表中。等到它被重新符号化。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-09
      • 2018-03-19
      • 2015-12-24
      • 2017-08-04
      • 1970-01-01
      • 2012-12-07
      • 1970-01-01
      相关资源
      最近更新 更多