У меня довольно специфический сценарий при работе с Firebase в нашем приложении. Без добавления Crashlytics и Fabric в проект, когда я запускаю модульные тесты для проекта, появляется следующий код:
@try {
[FIRApp configure];
} @catch (NSException *exception) {
DLog(@"**** Unable to configure Firebase due to exception %@", exception.description);
}
При отладке модульных тестов исключение не вызывается, поэтому я предполагаю, что firebase настроен и все работает. Тесты проходят и проблем нет.
Тогда я очень просто добавляю Crashlytics with Fabric в проект. Я добавляю это в качестве сценария запуска в мои фазы сборки "${PODS_ROOT}/Fabric/run"
для проекта и затем снова запускаю модульные тесты. Модульные тесты не пройдены, и я получаю:
Terminating app due to uncaught exception 'FABException', reason: '[Fabric] Value of Info.plist key "Fabric" must be a NSDictionary.'
как ошибка, когда я запускаю проект, однако все в порядке. Проблема only возникает при запуске тестов. Я пробовал следующее:
- Добавьте Crashlytics и Fabric к цели проекта, и я получаю ту же ошибку.
- Я делаю шаг 1, а также для цели модульных тестов, и все равно получаю ту же ошибку.
- Я делаю шаг 2, а затем добавляю Firebase Core к цели модульных тестов, и все равно получаю ту же ошибку.
- Я делаю шаг 3, а затем также добавляю
"${PODS_ROOT}/Fabric/run"
к сценарию запуска, но к цели модульных тестов, и все равно получаю ту же ошибку.
Я думаю, что Firebase не инициализируется правильно, и это, в свою очередь, приводит к неправильной инициализации Fabric и, следовательно, к сбою. Но я не уверен, как решить проблему. Будем благодарны за любые рекомендации и предложения.