Phonegap外部链接仅在testflight中停止工作

时间:2019-05-21 08:01:17

标签: ios cordova phonegap

有了一个应用程序,已经有一年多了。外部链接突然停止工作。

只在试飞+直播中中断

如果我通过Phonegap Dev应用程序,本地浏览器或什至直接从XCode运行它,它都可以完美运行。

我尝试过的示例链接

<a href="https://somewebsite.com/terms-conditions" onclick="window.open(this.href,'_blank','location=yes'); return false;">terms and conditions</a>

<a href="https://somewebsite.com/terms-conditions" onclick="window.open(this.href,'_system','location=yes'); return false;">terms and conditions</a>

<a href="https://somewebsite.com/terms-conditions" target="_blank">terms and conditions</a>

<a href="https://somewebsite.com/terms-conditions" target="_system">terms and conditions</a>

在config.xml中

    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <allow-intent href="tel:*" />
    <allow-intent href="sms:*" />
    <allow-intent href="mailto:*" />
    <allow-intent href="geo:*" />
    <allow-navigation href="https://somewebsite.com/*" />
    <allow-intent href="itms:*" />
    <allow-intent href="itms-apps:*" />

有时该链接将打开,但需要十次以上的点击。 使用Phonegap 8.2.2(仅适用于iOS +桌面)和最新版本以及Framework 7。

我什至修改了CDVUIWebViewDelegate方法shouldStartLoadWithRequest

- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType
{

    NSString *url = [NSString stringWithFormat:@"%@",request.URL];

    if([url containsString:@"https:"] || [url containsString:@"http:"]){
        if([url containsString:@"somewebsite."] && [url containsString:@".com/terms-conditions"])
        {
            [[UIApplication sharedApplication] openURL:[request URL]];
            return NO;
        }
    }

2 个答案:

答案 0 :(得分:0)

一旦移至testflight并对其进行测试,则更新插件cordova-plugin-inappbrowser

答案 1 :(得分:0)

您必须使用插件cordova-plugin-inappbrowser

这是由于某些更新的iOS政策导致的,请使用它并解决您的问题:)