2017-06-13 82 views
3

我在Xcode中为我的应用程序设置了URL Type。出于问题的目的,我已经删除了实际的包标识符。iOS URL类型在使用react-native-safari-view时不起作用React Native

enter image description here

我的项目捆绑标识符是com.domain.foo

我有一个简单的网页,只是重定向,用三种不同的方式:

window.onload = function() { 
    window.location.href="myschemereceiver://foo=bar"; 
    window.location="myschemereceiver://foo=bar"; 
    window.open("myschemereceiver", "_self"); 
} 

然而,当我使用this包加载内嵌的Safari浏览里面的URL,它不重定向到我应用程序。

当我在Safari中加载页面时,它会重定向到我的应用程序。

编辑

每当我试着重定向到不存在的URL类型,Safari浏览器将引发错误(预计)。将其更改为有效类型时,Safari不会执行任何操作,只会呈现白色屏幕。

+0

URL是https吗? – MattyK14

+0

我重定向的URL是'https'。 – Dan

+0

检查javascript是否有效。发出警报并查看结果 – 2017-06-28 12:09:50

回答

2

Safari View Controller不允许通过点击其中的URL来打开应用程序。要解决此问题,您需要使用WebView。

但是,如果直接使用myschemereceiver://foo=bar调用WebView(因为在Safari浏览器地址栏中直接输入URL不会启动应用程序),您的应用程序将不会启动。当用户点击Safari浏览器视图控制器内部时,您需要启动带有网站的WebView,用户应该点击另一个链接,或者您需要使用该网站内的JavaScript来打开您的应用程序。

有关适用于通用链接的应用和浏览器支持的更多信息,请参阅here

相关问题