iOS URL类型在使用react-native-safari-view时不能使用React Native

时间:2017-06-13 11:55:48

标签: xcode react-native

我已在Xcode中为我的应用程序设置了URL类型。出于问题的目的,我删除了实际的包标识符。

enter image description here

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

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

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

但是,当我使用this包在嵌入式Safari视图中加载网址时,它不会重定向到我的应用。

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

修改

每当我尝试重定向到不存在的URL类型时,Safari就会抛出错误(这是预期的)。将其更改为有效类型时,Safari无法执行任何操作,只需呈现白屏。

1 个答案:

答案 0 :(得分:2)

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

但是,如果使用myschemereceiver://foo=bar直接调用WebView,您的应用将无法启动(因为直接在safari地址栏中输入URL将无法启动应用)。当用户在Safari View Controller中单击时,您需要启动带有网站的WebView,用户应该单击另一个链接,或者您需要使用该网站内的javascript从那里打开您的应用程序。

有关通用链接的应用和浏览器支持的更多信息可以找到here