скрытое падение на Crashlytics с помощью Bitrise - приложение для iOS - PullRequest
0 голосов
/ 03 марта 2019

Я использую Bitrise в качестве CI / CD в своем приложении для iOS.В рабочем процессе есть шаг, чтобы выпустить приложение через Fabric.Когда происходит сбой, единственная мысль, которую я вижу в Dashboard, - это множество __hidden шагов в стеке.Я предполагаю, что это из-за некоторых пропущенных символов, но Fabric не говорит, что пропущен какой-либо символ.Я пытался добавить их вручную любым способом, но я все еще вижу сбой __hidden.Любые идеи, как я могу решить эту проблему?

Вот пример того, что я получаю.Fabric log

1 Ответ

0 голосов
/ 10 марта 2019

Ознакомьтесь с документом Apple , в котором описаны скрытые символы.Ищите раздел «Перевод« скрытых »имен символов обратно в их исходные имена».

Проблема здесь не в том, что Crashlytics пропускает информацию о символах.Это то, что информация о символах, которую они имеют в буквальном смысле, говорит им, что ваши символы называются __hidden#xyz.Это привело к запутыванию, которое вы видите здесь.Как описывает документ Apple, эти символы можно удалить из маскировки, но я не уверен, что Crashlytics поддерживает это.У них есть немного информации здесь .

Насколько я понимаю, это происходит, когда вы решаете не делиться информацией о символах с Apple в процессе отправки приложения.Если я прав, как только вы это сделаете, изменить это невозможно, пока вы не выпустите новую версию своего приложения.

Обновление:

Я обнаружил параметр в dsymutilэто позволяет деобфусцировать dSYM в этой ситуации.

--symbol-map=*bcsymbolmap*

Это изменит dSYM на месте с помощью символов с необъяснением.Загрузка этого dSYM в Crashlytics должна привести к ожидаемой символике.Однако из-за кэширования вам, возможно, потребуется сначала обратиться к ним, чтобы убедиться, что это изменение вступает в силу.

...