Вот решение:
В углубленных деталях появляются здесь: (! Новое место в Xcode 8) iOS9: duplicated lines in crash reports are causing symbolicatecrash to get stuck
Быстрое решения для редактирования этого PERL скрипта:
/Applications/Xcode.app//Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash
Теперь поиск defined($images{$bundlename})
и добавить next;
сразу после, как это:
if (defined($images{$bundlename})) {
next;
Это все!
Некоторые ОЧЕНЬ ПОЛЕЗНЫЕ symbolication советы:
Для symbolication вам необходимо 3 файла:
текстовый файл с отчетом об аварии: начиная с Incident Identifier:
и заканчивая чем-то вроде 0x1974d0000 - 0x1974f3fff libxpc.dylib arm64 <ad580443238d39978d09004c210d0c18> /usr/lib/system/libxpc.dylib
Папка приложения с именем MYAPP.app (Finder скрывает расширение .app). Если у вас есть и IPA приложения, распакуйте его, и он захочет папку «Полезная нагрузка».
Папка dSYM, сгенерированная Xcode при компиляции.
Вы должны переименовать папку dSYM в MYAPP.app.dSYM и поместить все три файла в одну и ту же папку.
Все три должны иметь одинаковый UUID. Для того, чтобы убедиться, что вы можете использовать следующие команды (я получил gsed
, запустив brew install gnu-sed
):
UUID из приложения:
dwarfdump --uuid MYAPP.app/MYAPP
UUID символов:
dwarfdump --uuid MYAPP.app.dSYM
UUID спосо аварии:
cat crash.txt | grep -A 1 "Binary Images:" | gsed -r -n -e 's_.*<([0-9a-z]{8})([0-9a-z]{4})([0-9a-z]{4})([0-9a-z]{4})([0-9a-z]{12}).*_\1-\2-\3-\4-\5_p' | awk '{print toupper($0)}'
Теперь, если все они совпадают с UUID, вы можете:
symbolicatecrash -v crash.txt MYAPP