Я установил Crashlytics в моем приложении iOS и установил приложение на реальном устройстве. Моя панель Crashlytics Dashboard показывает, что я успешно добавил приложение. Однако он не отправляет отчет о сбое. Моя скорость в Интернете не так хороша. Но я могу проверить свои электронные письма с этого устройства. Кто-нибудь может предположить, где проблема?
Crashlytics не отправляет отчет Crash из iPhone
Ответ 1
Отладчик Xcode НЕ позволяет Crashlytics обрабатывать отчеты о сбоях. Да, это кажется странным даже для меня, когда я читал это в первый раз, но это факт (Источник). Вот почему мы никогда не видим отчета о сбоях Когда:
- запуск приложения в Simulator
- запуск приложения на iDevice путем прямой сборки и запуска с Xcode с включенным отладчиком.
Чтобы убедиться, что во время тестирования сообщается о сбое (скопировано с сайта поддержки Crashlytics):
1. Симулятор запуска
2. Нажмите кнопку остановки
3. Запустите приложение и выполните сбой
4. Перезапустите приложение из симулятора
5. См. Отчет о сбое в веб-панели.
EDIT:
Добавлена ссылка; Crashlytics также предоставляет короткую статью о быстром способе принудительного сбоя и статью о почему вы не видите данные от вашего первого сбоя.
Ответ 2
Мое опоздание, но работа на 100%
Внесите некоторые изменения в настройки сборки проекта, как показано ниже.
Ответ 3
Основная причина, по которой любой аварийный репортер не будет работать на iOS, связан с помехами от разных репортеров. Тем не менее, с Crashlytics, в частности, может быть что-то конкретное для них, поскольку отчет о сбое не сообщается.
Отладчик Xcode НЕ разрешает Any Crash Reporter обрабатывать отчеты о сбоях. Это связано с тем, что XCode переопределяет любые крючки в обратные вызовы обработки сбоев. Это происходит только тогда, когда:
- запущенное приложение в Simulator (с включенным отладчиком)
- работает приложение iDevice, напрямую создавая и запуска из Xcode с включенным отладчиком.
Чтобы убедиться, что во время тестирования сообщается о сбое (http://support.crashlytics.com/knowledgebase/articles/92523-why-can-t-i-have-xcode-connected-):
- Симулятор запуска
- Нажмите кнопку остановки
- Запустите приложение и выполните сбой
- Перезапустите приложение из симулятора
- См. отчет о сбое в веб-панели.
В то время как супер-старое видео по-прежнему актуально, вот видео описанных выше шагов (пример от Crittercism): https://www.youtube.com/watch?v=sU6Su3PBFH4
Ответ 4
Недавно мы столкнулись с этой проблемой, и я обнаружил, что где-то по пути сборка script была удалена. Добавьте его обратно со следующей исправленной проблемой для нас: ./Crashlytics.framework/run <your_api_key> <build_secret>
Примечание.. При использовании Cocoapods вы захотите использовать вместо этого выше следующее (source):
./Pods/CrashlyticsFramework/Crashlytics.framework/run
Добавление сборки script:
- Чтобы добавить Запуск script Фаза сборки в Xcode 6, выберите цель вашего приложения в своем проекте, затем выберите "Сформировать фазы".
- Нажмите маленький значок "плюс" и выберите "Новый запуск script Фаза сборки".
- Теперь вы можете увидеть раздел Run script в середине ваших опций Build Phase, как показано выше.
- Внутри тела Run script Build Phase вставьте script.
Вышеприведенная цитата взята из Crashlytics визуальный учебник, ссылка на это сообщение.
Примечание: Я изначально написал этот ответ на код ошибки Crashlytics: 202 при отправке файлов.
Ответ 5
Для меня проблема заключалась в том, что устройство было подключено к моему Mac:) Из этот источник:
Кроме того, если ваше устройство подключено к вашему Mac, отладчик XCode также вступит в силу. Поэтому просто отключите устройство перед тестированием:)
Ответ 6
С сайта RayWenderlich:
Вы не получите отчетов о сбоях, если Xcode перехватит событие аварии! Чтобы все приведенные ниже примеры работали, необходимо создать и запустить затем нажмите кнопку остановки на Xcode. Таким образом, вы будете имеют последнюю версию, установленную на устройстве. Когда это вы можете запустить приложение на самом устройстве, а затем свернуть его все, что ты хочешь! Все сбои на вашем устройстве iOS будут пойманы и отправляется серверному компоненту службы, которую вы интегрировали в приложение. Отчеты о сбоях обычно отправляются на сервер следующей время, когда вы запускаете приложение, поэтому выполните следующие шаги, чтобы создать сбой отчет на сервере: Создание и запуск на Xcode. нажмите кнопку остановки. Запустите приложение на устройстве iOS. Сделайте приложение аварийным. Бег приложение снова.
Ответ 7
Удостоверьтесь, что вы не слишком рано нажимаете на ошибку.
Установите [Crashlytics sharedInstance].debugMode
в YES
;
Следите за
Crashlytics] Settings loaded
в журналах консоли Xcode.
Затем принудительно завершите работу и перезапустите приложение, и об этом сообщается об аварии.
Ответ 8
У меня возникла аналогичная проблема при попытке выполнить код аварийного сбоя.
Crashlytics.sharedInstance().crash()
Я запускал свое приложение с устройства без Xcode, и авария не появлялась на панели Crashlytics Dashboard. Для меня это был следующий совет с сайта Crashlytics:
- Обязательно запустите приложение после сбоя, чтобы авария могла быть загруженным
Я прокомментировал вышеупомянутый вызов crash() и перезапустил приложение. Тогда авария появилась на панели инструментов.
Ответ 9
Crashlytics работает для меня до сих пор. Я не знаю, почему, но теперь это не работает.
Вы должны включить режим отладки на
[Crashlytics sharedInstance].debugMode = YES;
Моя проблема здесь Код ошибки Crashlytics: 202 при отправке файлов: (
Ответ 10
Вы пытались запустить [[Crashlytics sharedInstance] crash]
на устройстве и посмотреть, не сообщается ли это об этом? Существует несколько причин, по которым Crashlytics может не работать, включая других аварийных журналистов и т.д.
Ответ 11
Если вы не загружаете файл dSYM, Crashlytics не будет показывать ваш сбой, даже если отчет успешно загружен.
Вы можете столкнуться с этой проблемой, если вы настроили build- script только для работы на вашем CI-сервере. Затем, если вы скопировали свое приложение на свой телефон с помощью xcode и запустили его без привязки к отладчику, отчет будет загружен, но проигнорирован из-за отсутствующего файла dSYM.
Ответ 12
Это для xcode 9, от crashlytics 3.4.0
После этого будьте терпеливы и подождите несколько минут.
Ответ 13
Это сработало для меня,
Если вы тестируете iDevice, просто отключите iDevice с помощью Xcode и запустите приложение. Теперь, если он разбился, он будет обновлен на панели инструментов.
Ответ 14
Иногда для отображения журналов требуется некоторое время. Я могу найти их через 15-20 минут
Ответ 15
Я нашел решение, используя следующие шаги: 1. Перейдите к схеме редактирования 2. Запуск → Информация 3. Измените конфигурацию сборки для выпуска. Теперь запустите приложение. Вы получите почту.
Ответ 16
Одна из проблем, которые я чувствую, что в фазе Run Script это должна быть отдельная фаза Run Script для CrashLytics. Когда был пробег Script
./Fabric.framework/run
С некоторыми из моих других script, все было в порядке, отчет о просмотре журнала CrashLytics представлен, но ничего не было в веб-интерфейсе.
Когда я добавляю еще одну фазу Run Script только при выполнении Fabric, она выглядит как волшебство:)
Моя первая попытка была с cocoapods, но это не сработало. Когда я вручную добавляю все фреймворк и отдельную рабочую фазу Script.
Ответ 17
Я решил, сняв флажок "Запустить Script только при установке" в Run Script (один для Fabric (crashlytics))