gpt4 book ai didi

iOS 应用被终止问题

转载 作者:行者123 更新时间:2023-11-28 22:33:40 31 4
gpt4 key购买 nike

我发现我的 iOS 5 应用程序有时会意外退出,这似乎不是由于未捕获的异常,因为我在应用程序委托(delegate)类中实现了 uncaughtExceptionHandler 并且我得到那里什么都没有。

如果是因为系统正在终止它,看起来你只能在它处于后台状态时才能意识到这一点:我已经阅读了 Apple 文档中的以下行。

The applicationWillTerminate: method is not called if your app is currently suspended.

所以,如果我没记错的话,在这些情况下你可以得到你的应用程序被系统终止的原因:

  • 应用处于后台状态
  • 低内存事件被触发

我能否检测到应用被终止的更多原因,以便报告问题?或者它是否可能当前未被终止,而是在没有用户交互的情况下移至后台?

谢谢

最佳答案

NSSetUncaughtExceptionHandler() 为 Objective-C 异常安装处理程序(例如,尝试访问不存在的 NSArray 项目)。它不会捕获较低级别的信号,例如段错误、总线错误、非法指令……,例如当您的应用程序试图访问无效指针地址时发生的事情。

您还可以为这些安装处理程序:

#include <signal.h>

void signalHandler(int signal)
{
}

// Somewhere in your start-up code.
signal(SIGSEGV, signalHandler);

关于iOS 应用被终止问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16723456/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com