首页 > 解决方案 > 从崩溃报告中调试函数中的崩溃

问题描述

我的问题是如何防止这种崩溃?

崩溃报告 我在应用商店中的实时应用程序崩溃了,我可以在 Organizer -> 崩溃:App Store > Release 点击打开它,我可以看到这个功能

fetchClientBalance() { (result, error) in
    let (hour,min,secs) = secondsToHoursMinutesSeconds(seconds: Int(durationInSecs)) // Crash here
}

功能的实现是

func secondsToHoursMinutesSeconds (seconds : Int) -> (Int, Int, Int) {
    return (seconds / 3600, (seconds % 3600) / 60, (seconds % 3600) % 60)
}

func fetchClientBalance(completed: @escaping ((_ result: Balance?, _ error: Error?) -> Void)) {

    URLSession.shared.dataTask(with: url) { (data, response, error) in
        if error != nil {
            print("Error in fetching balance")
            print(error!.localizedDescription)
            completed(nil,error)
            return
        }

        guard let data = data else {
            print(error?.localizedDescription ?? "No data")
            completed(nil,error)
            return
        }

        do {
            let resultData = try JSONDecoder().decode(Balance.self, from: data)
            DispatchQueue.main.async {
                completed(resultData,nil)
                return
            }
        } catch let jsonError {
            print("JSON Decoding Error")
            print(jsonError)
            completed(nil,jsonError)
            return
        }
    }.resume()
}

标签: iosswiftxcode

解决方案


推荐阅读