Swift crash "EXC_BREAKPOINT 0x0000000..."

У меня есть три разных сбоя в моем приложении iOS; разные кодовые местоположения, но все три с "exc_breakpoint 0x000000...". Я не могу воспроизвести их, они происходят на разных устройствах и разных версиях iOS.

Как уже упоминалось, я не могу воспроизвести их, ни у одного из наших тестеров не было такого сбоя, но в соответствии с авариями они случаются слишком часто, чтобы игнорировать.

Прежде всего, меня обычно интересует то, что означает этот EXC_BREAKPOINT 0x0000..., например. развертка nil-optional, ошибка приведения,...

первый:

введите описание изображения здесь

второй: введите описание изображения здесь

третий: введите описание изображения здесь

Ответ 1

Я также борюсь с подобным Crash Log, т.е. EXC_BREAKPOINT 0x000000010006a4d4. Как было сказано, не наш QA также смог воспроизвести его, но это произошло всего несколько раз. В моем случае я нашел шаблон во всех авариях, где он произошел. Это произошло на устройствах iPhone 6S и iPhone 6, и у обоих есть только от 2% до 4% RAM бесплатно, когда произошел сбой.

Я считаю, что это связано с низкой проблемой памяти. Сбой произошел только после нескольких инструкций делегата приложения, указывающего на случайные инструкции. Crashlytics уже заявила, что проблема заключается в Xcode. Здесь вы можете прочитать ответ здесь.

Где-то я читал, что EXC_BREAKPOINT возникает, когда swift не имеет представления о том, что произошло с памятью. Я полагаю, что в моем случае проблема памяти из-за более низкой памяти.

Я обновил свой Xcode до 7.3 вместе с быстрым, и я тестирую новые сборки для репликации сбоя. Посмотрим, что произойдет. Я опубликую результат после тестирования и посмотрю, будет ли реплицирован крах или нет.

Надеюсь, это поможет кому-то.

Ответ 2

Проверьте свой фоновый выбор в файле appDelegate.

Пример:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {      

    Fabric.with([Crashlytics.self])

    return true
}

удалить application.setMinimumBackgroundFetchInterval(UIApplicationBackgroundFetchIntervalMinimum) line from didFinishMethod и снова проверить или прокомментировать.