iOS Swift 的NSSetUncaughtExceptionHandler全局异常捕获不回调

古德猫宁K 2017-06-07 10:54:35
先贴一下我在OC的代码
void UncaughtExceptionHandler(NSException * exception)
{
//崩溃的回调
}
+ (void)setDefaultHandler
{
NSSetUncaughtExceptionHandler(&UncaughtExceptionHandler);
signal(SIGABRT, SignalHandler);
signal(SIGILL, SignalHandler);
signal(SIGSEGV, SignalHandler);
signal(SIGFPE, SignalHandler);
signal(SIGBUS, SignalHandler);
signal(SIGPIPE, SignalHandler);
}
void SignalHandler(int signal)
{
}
OC的情况可以回调
在Swift由于没有了指针,所以不能像OC一样写了,下面是Swift在Appdelegate的代码
NSSetUncaughtExceptionHandler({ (expcetion) in
//崩溃回调
})

关于这个不回调的,我查了一些帖子参考
https://stackoverflow.com/questions/25441302/how-should-i-use-nssetuncaughtexceptionhandler-in-swift
https://www.ibm.com/developerworks/cn/cloud/library/cl-mqa-swift-app/index.html
参考了这些帖子,这个NSSetUncaughtExceptionHandler放在一个OC的类中调用,然后在OC调用这个类,但是发现没效果。有朋友做过Swift版的全局异常捕获吗?请赐教一下,谢谢了
...全文
1147 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
那一丝风情 2017-09-26
  • 打赏
  • 举报
回复
楼主最后解决了吗 希望可以指导下
古德猫宁K 2017-06-08
  • 打赏
  • 举报
回复
引用 1 楼 SL_ideas 的回复:
在application didFinishLaunchingWithOptions:方法里加上这句代码 InstallUncaughtExceptionHandler();
我尝试了一下,提示InstallUncaughtExceptionHandler()没有这个方法,你这个InstallUncaughtExceptionHandler()是来自 http://mobile.51cto.com/iphone-392400.htm 的吧 这个是初始化的,我列出来的方法setDefaultHandler就是这个功能
SL_ideas 2017-06-08
  • 打赏
  • 举报
回复
在application didFinishLaunchingWithOptions:方法里加上这句代码 InstallUncaughtExceptionHandler();

29,028

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧