xcode - 使用 react-native-safari-view 时,iOS URL 类型不适用于 React Native

标签 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 View 中加载 URL 时包,它不会重定向到我的应用程序。

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

编辑:

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

最佳答案

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

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

有关应用程序和浏览器对通用链接的支持的更多信息,请参见 here .

关于xcode - 使用 react-native-safari-view 时,iOS URL 类型不适用于 React Native,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44520839/

相关文章:

javascript - 在 "store"的上下文或 props 中找不到 "Connect(App)"

ios - 如何在 XCode 4.2 中为协议(protocol)自动生成 stub ?

ios - 使用 Xcode 6.3.1 生成 IPA 时出现问题

iphone - UIButton TouchUpInside 不工作

reactjs - 使用 Hooks 在功能组件中 react 导航标题

ios - 在类型 'overrideUserInterfaceStyle' 的对象上找不到属性 'DatePicker *'

ios - 在 iOS 模拟器中, native 应用程序的内存使用量不断增加

asp.net - 如何使用 SQL Server 将 React Native 应用程序与 ASP.NET Web 服务连接?

ios - 如何使用 Xcode/Swift 创建横跨屏幕的横幅图像?

ios - 使用 Xcode 出现错误 "No such module",但框架在那里