在我的iOS应用中,我在条件块内使用了exit(-1)调用,即performFetchNSFetchedResultsController函数是否将Yes返回为错误。这是基本代码

NSFetchedResultsController *resultsContoller;
NSError *error;

if (![resultsContoller performFetch:&error]) {

   exit(-1);
}

NSfetchedResultsController的初始化在我的代码中完成。

所以,这是我的问题。由于exit()调用,该应用程序此时确实崩溃了。但是,当我通过XCode看到iPhone的设备日志时,没有注册崩溃报告。
  • 是否以编程方式调用exit()在iOS中不视为崩溃?
  • 设备日志中是否仅注册了对exit()的意外调用?
  • 最佳答案

    是否在iOS中以编程方式调用exit()不被视为崩溃?

    调用exit的应用程序将向用户显示已崩溃,
    而不是执行优雅的终止并动画返回
    主屏幕。

    是否仅在设备日志中记录了对exit()的意外调用?

    不,exit()不会在设备日志中注册,因为它实际上是在关闭应用程序而不会崩溃。

    如果在开发或测试期间有必要终止您的
    建议使用应用程序,中止功能或断言宏。

    NSAssert(FALSE, @"Quitting the app programmatically.");
    在这里检查参考:

    https://developer.apple.com/library/content/qa/qa1561/_index.html

    关于ios - 在设备日志中未将Exit()函数调用识别为崩溃,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44601814/

    10-15 05:47