【问题标题】:Safari not open iOS Apps in iOS 9Safari 无法在 iOS 9 中打开 iOS 应用程序
【发布时间】:2015-09-23 11:56:47
【问题描述】:

我有一个 url 发送到电子邮件,如果用户点击该链接,它会打开已安装的应用程序,并且它在 iOS 8 中运行良好,因为我切换到 iOS 9,重定向到应用程序不再工作,我尝试添加“LSApplicationQueriesSchemes”数组并在其中添加我的 url 方案,但我也没有工作。那么,它错过了什么?

【问题讨论】:

  • 你能显示你的 URL 和来自应用程序 .plist 文件的 XML 键 CFBundleURLTypes 吗?右键单击 *.plist 并打开为 -> 源代码
  • @IurieManea 在应用程序之间工作,我询问了从 safari 到应用程序的问题,顺便检查一下我的答案。

标签: ios safari url-redirection ios9 url-scheme


【解决方案1】:

在 iOS9 中,Apple 正在更改一些有关 URL 方案的内容。 http://awkwardhare.com/post/121196006730/quick-take-on-ios-9-url-scheme-changes 是一篇关于这些变化的文章。

基本上,您现在必须在 .plist 文件中注册您的应用支持的所有 URL 方案。

【讨论】:

  • 我读到了,他在谈论 canOpenURL 和 openURL 方法,我说的是在 safari 中打开的链接并将我重定向到我的应用程序,该链接当然不使用这些方法之一.
【解决方案2】:

我在 javascript 代码中做了一个修复,它重定向到打开我的应用程序的 url。

我正在创建一个 iframe,其中包含一个用于重定向 url 的 url src 对象。我删除了该 iframe 并将其替换为该行 window.location = "url",就是这样,一切都运行良好,现在 safari 再次将我重定向到我的应用程序,但这次又多了一步,它显示了一条消息确保他想要转到应用程序的用户。

因此,如果有人再次遇到重定向问题,请检查重定向代码 javascript 并删除 iframe 并将其替换为 window.location

【讨论】:

  • @Desco 看看这个解决方案
  • 如果访问您的移动网站的用户没有安装应用程序怎么办? Safari 打开一个错误框。不好。
  • @tommy.bonderenka 是的,在那种情况下不好,所以你应该添加一个视图有一个按钮,以防网站打开表单移动设备说打开应用程序或在应用程序中继续。它以这种方式将用户重定向到应用程序,但我的情况不同,因为我没有供用户浏览的网站。所以,它以这种方式与我合作。
  • 我一直在使用 window.location。它在 9.0 以下的 iOS 上工作正常,但在 9.0 上显示错误:无效地址
  • @Swati 确保您地址中的 url 重定向与 iOS 应用程序中 info.plist 文件中 url 类型属性中的 url 方案相匹配。
【解决方案3】:

Apple 的支持论坛正在讨论这个问题:https://discussions.apple.com/thread/7221842

我的公司已收到 Apple 支持解决此问题的公开票。

很遗憾,目前还没有解决方案。

【讨论】:

    猜你喜欢
    • 2015-09-17
    • 1970-01-01
    • 2016-01-05
    • 2015-12-18
    • 1970-01-01
    • 1970-01-01
    • 2016-01-02
    • 1970-01-01
    • 2015-11-03
    相关资源
    最近更新 更多