为啥出现打开 iTunes App Store url 时 web 视图中的取消按钮不起作用。 (为了理解)

Posted

技术标签:

【中文标题】为啥出现打开 iTunes App Store url 时 web 视图中的取消按钮不起作用。 (为了理解)【英文标题】:why does the cancel button in web view do not work when open iTunes App Store url appears. (for understanding)为什么出现打开 iTunes App Store url 时 web 视图中的取消按钮不起作用。 (为了理解) 【发布时间】:2020-01-30 15:54:18 【问题描述】:

是因为没有实现取消按钮的方法吗?

circled in blue cancel button not working

下面是我的代码。通过警报视图通知用户有可用的更新版本。如果单击“确定”,它会将它们定向到 iTunes App Store 中的应用程序。 (如下图所示)但是当点击取消时,什么也没有发生。

-(void)showAlert 

    UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"New Version Available on Appstore" message:@"Please update app to continue" preferredStyle:UIAlertControllerStyleAlert];

    UIAlertAction *ok = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) 

        UIApplication *application = [UIApplication sharedApplication];
        NSURL *iTunesLink = [NSURL URLWithString:@"itms://itunes.apple.com/us/app/apple-store/id375380948?mt=8"];
        [application openURL:iTunesLink options:@ completionHandler:^(BOOL success) 
            if (success) 
                 NSLog(@"Opened url");
            
        ];
            //button click event
                        ];
    UIAlertAction *cancel = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:nil];
    [alert addAction:ok];
    [alert addAction:cancel];
    [self presentViewController:alert animated:YES completion:nil];

我设法通过添加“itms-apps”来解决这个问题(直接重定向到应用商店,没有取消按钮)。但我还是想明白为什么取消按钮不起作用

由于网页视图中的取消按钮不是我创建的,是否可以为其添加方法?

对于我的问题没有明确表示抱歉。我想知道为什么屏幕截图中带圆圈的取消按钮不起作用。

【问题讨论】:

截屏没有意义。它显示 App Store 应用,而不是带有 your 警报的 your 应用。屏幕截图中的取消按钮不是您的取消按钮。您的取消按钮工作正常。 感谢 matt 是的,我的警报视图中的取消按钮工作正常。但是,我想知道为什么屏幕截图(带圆圈)中的取消按钮不起作用,而不是为什么我的警报视图中的取消按钮不起作用。 但这不是您的取消按钮。它不是你的应用程序。与你无关。 是的,我明白这与我无关。但我想了解或找出它为什么不起作用,或者是否可以为其添加方法。 【参考方案1】:

当你创建一个 UIAlertController 时,你可以向它添加不同的按钮作为 UIAlertActions,当每个按钮被点击时它们会做一些事情。您必须通过在 UIAlertAction 的初始化中实现处理程序来指定您想要发生的事情(就像您在上面对 OK 操作所做的那样)。

如果您将 nil 作为处理程序传递,则警报将被简单地解除,但不会发生其他任何事情,因为您没有告诉它做任何其他事情。

取消按钮与单击警报按钮有关,而不是您单击其他按钮后所做的任何事情,就像您可能希望的那样。

更多信息here。

【讨论】:

您好 Elvereth,警报视图中的取消按钮工作正常。即使我向它添加一个动作。例如,如果警报视图中的取消按钮是点击,则转到另一个它可以工作的视图控制器。但是,如果我单击 OK,App Store 的 Web 视图将显示一个取消和存储按钮。存储按钮有效,但取消按钮无效。因此,我想知道为什么带圆圈的取消按钮不起作用。如果我想让它工作,我该如何向它添加一个方法。 在WebView中打开的App Store页面的取消按钮被点击时,您无法实现或传递任何要执行的方法。正如您在此页面上方的 cmets 中所说,与您无关,您无法修改单击该按钮的行为,这根本不可能。顺便说一句,我再也看不到按钮的图像了,但我的观点仍然存在:您只能在单击您创建的按钮时告诉设备该做什么。

以上是关于为啥出现打开 iTunes App Store url 时 web 视图中的取消按钮不起作用。 (为了理解)的主要内容,如果未能解决你的问题,请参考以下文章

为啥我苹果的app store,大部分时间无法连接到 Itunes store上?

解决上传app store卡在正在通过iTunes Store鉴定

屏幕截图出现在 iTunes Connect 而不是 App Store

itunes点击itunes store一直没有反应,就一直在那转,是为啥呀

苹果手机在Appstore和iTunes被禁用下不了软件怎么办

App Store 赠送 iTunes Affiliate 链接?