【问题标题】:URL scheme in iOS with WebView带有 WebView 的 iOS 中的 URL 方案
【发布时间】:2020-12-09 02:00:03
【问题描述】:

我正在开发一个 iOS 应用程序,我想在其中为用户提供一个支付网关,它是一个网页。我在 WebView 中显示此网页。 支付网关接受 2 个 URL 参数 - 成功和失败 URL,这是用户在完成购买后重定向到的 URL。重定向是通过 JavaScript location.href 属性完成的,并且可以在桌面浏览器和 Android 应用中正常工作。

我已将 URL 设置为 tft://redirect/success?id=123 和。 tft://redirect/failure?id=123

我希望我的应用处理此重定向并向用户显示成功或失败消息。

我学习了很多教程,包括Apple's docs。 首先,我不确定为什么 Apple 文档显示没有斜线的方案(myphotoapp: 而不是 myphotoapp:// - 它真的有什么不同吗?)

我已经根据文档注册了自定义方案tft并实现了func application(..)功能。

现在当重定向应该发生时,什么都没有发生,func application 根本没有被调用。

我开始使用 iOS 12 进行开发,最近将部署目标切换到 13.5,但是,项目结构没有改变(缺少场景委托 - 这是一个问题吗?)。

你能给我任何方向吗? 提前致谢。

【问题讨论】:

  • 您的 URL 方案对于您的应用程序应该是唯一的,我不建议使用“app”。 URL 方案应包含在不带冒号或斜杠的 PLIST 中。显示您如何配置 PLIST、您的应用委托代码以及设置 window.location 的 JS 的屏幕截图将有助于诊断您的问题。

标签: ios uiwebview url-scheme


【解决方案1】:

根据https://*.com/a/37240425/9046249 自定义方案的行为有些奇怪。当我将方案切换到 httphttps 时,它就像一个魅力。

【讨论】:

    最近更新 更多