自动点击UIAlertView

时间:2012-01-23 17:59:15

标签: objective-c ios

我有一个应用程序显示UIAlertView有两个选项“安装”和“取消” 目前测试人员手动点击“安装”按钮开始安装。

我想做的是自动化这个过程......有没有办法可以获得这个UIAlertView的句柄/引用并自动点击“安装”按钮?

PS:场景是这样的。我使用TestFlightApp(testflightapp.com),现在我的代码点击了TestFlightApp提供的URL来安装这个版本,但是当我点击链接时,会出现一个alertview(可能由safari显示)。我想要解决这个问题或者解雇它

2 个答案:

答案 0 :(得分:2)

你做不到。 UIAlertView是从MobileSafari页面显示的(尽管在Web剪辑中),您无法控制UIAlertView或其代理。

这是故意的,用户应该是唯一一个能够确认与应用安装一样重要的用户。

答案 1 :(得分:1)

  

我有一个显示UIAlertView的应用程序有两个选项“安装”和“取消”当前测试人员手动点击“安装”按钮启动安装。我想做的是自动化这个过程。

     

UIAlertView由不同的应用程序显示

这两个是矛盾的。但是,如果真的是您的应用程序,它会显示警报视图:

第一部分:

如果你有句柄,你可以使用这条消息来解雇它:

[alertView dismissWithClickedButtonIndex:0 animated:YES];

第二部分:如何在窗口中获取第一个UIAlertView对象

- (UIAlertView *) recuresiveSearchAlertViewInView:(UIView *)mainView
{
    if ([mainView isKindOfClass:[UIAlertView class]])
        return (UIAlertView *)mainView;
    UIView *found = nil;
    for (UIView *view in mainView.subviews)
    {
        if ([view isKindOfClass:[UIAlertView class]])
        {
            found = view;
            break;
        }
        if (!found)
            found = [self recursiveSearchAlertViewInView:view];
    }
    return found;
}

然后致电:

UIAlertView *av = [self recursiveSearchAlertViewInView:[[UIApplication sharedApplication] keyWindow];