2015-07-21 2 views
0

Я использую SwiftyJSON для анализа ответов json с сервера.swifty json crashing много

Приложение сильно разрушает (получение отчетов о краш-тестах), но я не могу понять, где они происходят.

Строка кода все различные точки, чтобы это

let jsonDict = JSON(data: data, options: NSJSONReadingOptions.AllowFragments, error: nil) 

эта же линия используется для разбора всех ответов JSON для различных конечных точек.

Основной код для выполнения этих запросов:

NSURLConnection.sendAsynchronousRequest(
    req, 
    queue: queue) 
    { (res: NSURLResponse!, data: NSData! , err: NSError!) -> Void in 
     let jsonDict = JSON(data: data, options: NSJSONReadingOptions.AllowFragments, error: nil) // and crashes on this line 

Там нет ошибок на внутреннем интерфейсе и, кажется, ниспослание 200 OK кода ответа ответы (хотя это трудно соответствовать этому вверх)

Есть ли способ, которым я могу попытаться поймать эту линию, чтобы она не разбивала приложение?

Heres экран от crashlytics screenshot crashlytics (fabric)

+1

Вы должны использовать ремарку 'error' и, вместе с тем, проверить результат NIL. –

+0

Вы уверены, что авария произошла в разборе JSON, а не в обратном вызове? IIRC, EXC_BREAKPOINT происходит, когда вы нарушаете контракт Swift (значение NULL, тип, ..) – Krumelur

+0

@HotLicks верен. Перед попыткой проанализировать данные необходимо проверить работу сервера. Помимо того, что он упомянул, также проверьте код состояния ответа. –

ответ

0

Вы должны выяснить, почему это вместо того, чтобы врезаться в попытке замаскировать проблему с помощью Do/попробовать/поймать. Начните с удаления внутреннего вызова и подачи образца JSON, который является репрезентативным для того, что сервер вернется к вашему вызову JSON и посмотрит, не сработает ли он там.

Смежные вопросы