通过后台捕获弹框,并处理已初步实现,不过存在两个问题

通过后台捕获弹框,并处理已初步实现,不过存在两个问题:
问题一:hook弹框的事件,使用如下代码,不过只有部分的弹框可以hook到(你是否信任,低电量,apple id 输入,无安装sim卡等),有些程序里面的alert弹框无法捕获到。
hook 弹框的代码如下:
%hook SBAlertItemsController
-(void)activateAlertItem:(id)item
{
%org;
}
当然对于问题一使用查询法,是可以实现弹框的捕获,不过效率太低,是不是如上hook遗漏了一部分,是不是可以通过hook另的类下的方法可以得以补充?
不断查询检测的代码如下:
Class UIAlertManager = objc_getClass("_UIAlertManager");
UIAlertView *topMostAlert = [UIAlertManager performSelector:@selector(topMostAlert)];
while (topMostAlert) {
[topMostAlert dismissWithClickedButtonIndex:0 animated:NO];
topMostAlert = [UIAlertManager performSelector:@selector(topMostAlert)];
}

问题二:hook弹框后台通过如下三行代码处理,大部分可以自行处理,有部分弹框处理后HOME键失效了,除非再按一下电源键再解锁就可以了(比如没有装sim卡拨打电话,会弹出未安装sim卡提示,处理完HOME键就失效了)。
Class UIAlertManager = objc_getClass("_UIAlertManager");
UIAlertView *topMostAlert = [UIAlertManager performSelector:@selector(topMostAlert)];
[topMostAlert dismissWithClickedButtonIndex:-1 animated:NO];

请帮忙分析一下,卡死是什么原因,卡死之前弹框也是被处理掉了,只是手机HOME键就失效了,除非再按一下电源键再解锁就可以了。

一、程序内部的弹框一般都是UIAlertView(iOS 8是UIAlertController);
二、home键失效是什么意思?

一。群主说程序内部弹框一般都是UIAlertView,我试过如下hook没有效果
%hook UIAlertView
-(void)show
{
%orig;
NSLog(@"====hook now=====")
}
不能这样?

二。Home键失效的意思,就是弹框hook到以后通过dimss处理完,按下home键就没有反应了,除非锁屏后重新解锁后就恢复了。

一、程序内部的弹框,我指的是程序自己弹出来的,而不是系统弹出来提示需要这个那个权限的框。如果是程序自己弹出来的,那要么是UIAlertView,要么是程序自己写的view了;
二、如果是这样的话,我猜测dismiss并没有取消当前界面的modal的状态,只是把肉眼能看到的框给消除了。这样的话,你就需要进一步逆向,看看到底发生了什么