Exit()函数调用未被识别为设备日志中的崩溃

时间:2017-06-17 07:09:59

标签: ios objective-c xcode

在我的iOS应用中,我在条件块中使用了exit(-1)调用,即performFetch NSFetchedResultsController函数返回Yes为错误。这是骨架代码

NSFetchedResultsController *resultsContoller;
NSError *error;

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

   exit(-1);
}

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

所以,这是我的问题。由于exit()调用,该应用确实在此时崩溃。但当我看到我的iPhone设备通过XCode登录时,没有注册崩溃报告。

  1. 以编程方式调用exit()在iOS中不被视为崩溃?
  2. 是否只在设备日志中注册了exit()的意外呼叫?

1 个答案:

答案 0 :(得分:1)

以编程方式调用exit()不会被视为iOS中的崩溃吗?

  

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

是否只在设备日志中注册了对exit()的意外调用?

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

  

如果在开发或测试期间有必要终止您的   建议使用application,abort函数或assert宏。

赞,NSAssert(FALSE, @"Quitting the app programmatically.");

检查参考:

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