Crashlytics загрузить dSYM вручную для запутанного приложения - PullRequest
0 голосов
/ 05 сентября 2018

Я включил крашлитики в приложение, которое использует ixguard в качестве инструмента запутывания. Выполнение предложенных тестов с использованием симулятора на не запутанной версии работает нормально.
Для де-символизации правильно запутанных журналов сбоев приложения требуется другой файл dSYM. Этот новый dSYM предоставляется инструментом запутывания, и я загружаю его с помощью портала Firebase.
В консоли Firebase я вижу несколько аварийных журналов, которые я сгенерировал, вызывая аварийное завершение работы приложения, но для них по-прежнему требуется правильный dSYM (обязательно). Похоже, новый dSYM не учитывается.
Запустив dwarfdump -u Obfuscated.BS.dSYM, я ясно вижу, что требуемый UUID присутствует в списке, поэтому они должны совпадать.
Меня беспокоит то, что во время сборки Fabric запускает скрипт, который должен автоматически выгружать dSYM на портале Fabric, мне интересно, может ли эта двойная загрузка что-то сломать.

Ответы [ 2 ]

0 голосов
/ 06 сентября 2018

Полагаю, я нашел проблему, возможно, это связано с тем, что iXguard сгенерировал dSYM, потому что он имеет структуру, отличную от структуры, сгенерированной Xcode. В папке архива dSYM вы найдете что-то вроде этого:

dSYM
    |
    |->ThirdPartyLib1.dSYM
    |->ThirdPartyLib2.dSYM
    |->MyApp.dSYM
    |->ThirdPartyLib3.dSYM

MyApp.dSYM имеет такую ​​структуру

MyApp.dSYM
        |
        |->Contents
                |
                |->Info.plist
                |->Resources
                        |
                        |->DWARF
                                |
                                |->MyApp

Один из iXguard немного запутался:

MyApp.dSYM
        |
        |->Contents
                |
                |->Info.plist
                |->Resources
                        |
                        |->DWARF
                                |
                                |->MyApp
                                |->ThirdPartyLib1
                                |->ThirdPartyLib2
                                |->ThirdPartyLib3

Если я загружаю файл iXguard, Crashlytics не распознает его как действительный, если я изменяю его, сохраняя исходную структуру, он работает.

Проблема решена.

Я надеюсь, что это может помочь кому-то в будущем.

0 голосов
/ 06 сентября 2018

Майк из Fabric и Firebase здесь. У нас нет поддержки iXGuard. Загрузка dSYM после их отсутствия не вызовет никаких проблем. Я догадываюсь, что iXGuard делает что-то, чего мы не ожидаем, поскольку у нас нет поддержки в этом.

...