Внешние ссылки PhoneGap перестали работать только в testflight - PullRequest
1 голос
/ 21 мая 2019

Получил приложение, оно было хорошо больше года.Внезапно внешние ссылки перестали работать.

Он ломается только в тестовом полете + Live

Если я запускаю его через приложение 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:*" />

Иногда ссылка открывается, но для ее нажатия требуется более 10 нажатий,Использование Phonegap 8.2.2, только для iOS + Desktop, как в последней версии сборки, так и в 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 ]

1 голос
/ 23 мая 2019

Вы должны использовать плагин cordova-plugin-inappbrowser.

Это связано с обновленной политикой iOS, используйте ее и решите свою проблему:)

1 голос
/ 22 мая 2019

Один раз Обновите ваш плагин cordova-plugin-inappbrowser после перехода на тестовый полет и протестируйте его.

...