標籤:抓取.a檔案內的事件
由於應用裡面添加了彈窗的廣告,但是為.a的庫檔案,出於好奇想抓取彈窗廣告內的控制項事件,於是寫了如下代碼測試,成功!
for (id obj in [[[UIApplicationsharedApplication] keyWindow]subviews])
{
NSLog(@"Class Name[%s]",object_getClassName(obj));
NSString * str = [NSStringstringWithFormat:@"%s",object_getClassName(obj)];
if([str isEqualToString:@"UIView"])
{
for (UIView * vv in [(UIView *)obj subviews])
{
NSLog(@"UIView = %@",vv);
for (UIView * hh in vv.subviews)
{
NSLog(@"UIView的子View = %@",hh);
//通過列印hh得知所要擷取的控制項有tag值,於是根據tag值抓到對應的控制項
if(hh.tag == 1)
{
UIButton * btn = (UIButton *)hh;
NSSet* myActions = [btn allTargets];
NSEnumerator * mm = [myActions objectEnumerator];
for (NSString * ssin mm)
{
NSLog(@"遍曆枚舉的值: %@",ss);
NSArray * array = [btn actionsForTarget:ssforControlEvent:UIControlEventTouchUpInside];
SEL sel = NSSelectorFromString(array[0]);
//sel 則為要抓取的控制項事件
[ssperformSelector:sel];
}
}
}
}
}
}
抓取第三方廣告彈窗裡的控制項事件-測試成功