Phonegap 外部链接仅在 testflight 中停止工作
Posted
技术标签:
【中文标题】Phonegap 外部链接仅在 testflight 中停止工作【英文标题】:Phonegap external links have stopped working in testflight only 【发布时间】:2019-05-21 08:01:16 【问题描述】:有一个应用,一年多没问题。突然外部链接停止工作。
仅在试飞+直播时中断
如果我通过 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 + 桌面,最新构建版本和 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;
【问题讨论】:
【参考方案1】:在移动到 testflight 并对其进行测试后更新您的插件 cordova-plugin-inappbrowser
。
【讨论】:
我没有使用 inappbrowser,它自 2018 年以来就没有更新过。这个问题大约一个月前才开始。【参考方案2】:你必须使用插件cordova-plugin-inappbrowser
。
这是由于一些更新的 iOS 政策,使用它来解决您的问题 :)
【讨论】:
它没有解决我的问题,最后一次更新是在 2018 年。问题是一个月前才开始的。 你试过了吗? 是的,我做到了。当我尝试它时它最初也不起作用 - 这就是我添加自己的代码来处理导航事件的原因 贴出你使用的inappbrowser代码和错误信息以上是关于Phonegap 外部链接仅在 testflight 中停止工作的主要内容,如果未能解决你的问题,请参考以下文章
为啥外部链接在构建后在 phonegap 应用程序上不起作用
Phonegap / Cordova ios外部链接iframe无法在safari中打开
PhoneGap/Cordova 打开外部链接到 Safari 而不是全屏 inApp