【问题标题】:Detect if an app has been installed on iOS in JavaScript用 JavaScript 检测是否在 iOS 上安装了应用程序
【发布时间】:2017-11-17 17:34:37
【问题描述】:

我一直在四处寻找是否可以使用 JavaScript 或其他网络语言检查 iOS 设备上已安装的应用程序。

我知道在 Objective-C 中本地执行此操作的方法,但由于该项目的性质,此检测必须使用 Web 技术完成。我试图检测的这个应用程序没有像snapchat:// 这样的特定 URL 方案,所以this 答案在我的情况下没有用。

我还看到本地项目使用 Apple 私有 API,例如 this 来检测该设备上所有已安装的应用程序,但 Apple 此后关闭了该私有 API,不允许任何此类检测。如果这样的事情仍然可能发生,它不符合我基于 Web 检测已安装应用程序的标准。

【问题讨论】:

  • 你不能那样做。
  • @SLaks 如果您对此有 100% 的把握,我将结束我的问题。
  • 正如你所说,它没有 URL 方案,这意味着你甚至无法控制你试图检测的应用程序,对吧?
  • @jcaron 是的,先生,这是正确的
  • 完全同意其他人的观点。出于隐私原因,Apple 强烈反对对已安装应用程序进行任何形式的嗅探。即使是原生应用程序在尝试打开多少不同的 URL 方案方面也受到限制。

标签: javascript ios iphone-privateapi


【解决方案1】:

如果应用程序不处理唯一的 URL 方案,则甚至没有任何方法可以从本机 iOS 应用程序中检测到它。在网络浏览器中肯定没有办法做到这一点。

【讨论】:

  • 从技术上讲,您可以在 URL 方案上执行 if else ,但这不是它的本意,而且效率低下。还有一些私有 API 允许这样的事情,但后来在 iOS 11 中被关闭了。
  • “那个”是指检测一个不处理唯一 URL 方案的应用程序。
  • 哦好的,明白了。如果没有人对此有任何进一步的见解,我将不得不接受您的回答。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-04-02
  • 2013-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-29
相关资源
最近更新 更多