在启动时检测应用程序崩溃

时间:2015-11-21 14:10:58

标签: ios swift crash crash-reports

我看到有几个应用程序会检测应用程序上次使用时是否崩溃,以鼓励用户报告错误。

我该怎么做?我尝试了this solution,但没有让它在我的快速项目中工作......
我想到的一种方法是每次应用程序即将关闭时保存一些内容,然后在启动应用程序时读取值,我猜当应用程序崩溃时,它将无法再保存任何内容,对吧? /> 但是,这不是很优雅。有没有更好的方法来检测崩溃?

提前致谢:)

3 个答案:

答案 0 :(得分:1)

您可以使用内联闭包在崩溃期间执行日志记录。

NSSetUncaughtExceptionHandler { exception in
    // Do necessary logging work here
}

SO thread可能会对您有所帮助..

答案 1 :(得分:0)

你可以通过twitter使用crashlytics。

  1. 下载fabric mac app
  2. 打开它&注册新帐户
  3. 将xcode项目添加到结构
  4. 中的项目列表中
  5. 选择将碰撞框架添加到您的应用
  6. 构建您的应用
  7. 请参阅给定的代码段以使用crashlytics
  8. 访问Fabric documentation 了解更多信息

答案 2 :(得分:0)

import XCPlayground
import Foundation


let fm = NSFileManager()
if fm.fileExistsAtPath("terminated") {
    try! fm.removeItemAtPath("terminated")
} else {
    print("an app crashed last time")
}
// set i to nil to force the app to crash
// than set it to 0 and execute it again
let i: Int! = 0
let j: Int = i

fm.createFileAtPath("terminated", contents: nil, attributes: nil)
print("terminated")