检查是不是安装了应用程序

Posted

技术标签:

【中文标题】检查是不是安装了应用程序【英文标题】:Check if apps are installed检查是否安装了应用程序 【发布时间】:2017-11-14 08:56:32 【问题描述】:

我正在创建一个应用程序,该应用程序应允许用户检查安装了哪些应用程序(也属于我)。

我读过post,它解释了每个应用程序的 URL 方案必须在 LSApplicationQueriesSchemes 上声明,以便能够检查应用程序是否已安装。该帖子相对较旧,我想知道当前是否存在其他解决方案来检查设备上是否安装了应用程序列表。 我还在苹果网站上找到了article,解释了如何更新属性列表数据。

是否可以使用它来更新info.plist 中的LSApplicationQueriesSchemes 并添加新的URL 方案?

【问题讨论】:

您的意思是动态更新您的 plist 以支持查询其他应用程序吗? 是的,这正是我的意思 由于所有应用程序都是您的,您可以使用应用程序组创建共享用户默认值、钥匙串或核心数据文件,并让每个应用程序在启动时创建一个条目 我不认为一个应用可以访问另一个应用的核心数据填充或默认值。 【参考方案1】:

apple 上的文章解释了编辑 plist 文件,但您要编辑的 plist 位于只读的 app bundle 中。

编辑它的唯一方法是将其复制到您的应用程序的文档目录中,但这不足以满足您添加额外 url-schemes 的要求

对于问题1:LSApplicationQueriesSchemes 是在您已经知道 url 方案的情况下查询已安装应用程序的正确方法。

【讨论】:

假设我不知道 URL 方案,还有其他方法吗?例如询问用户访问所有已安装应用程序列表的权限? (这在 android 上是可能的) 我不知道 Apple 有这样的 API

以上是关于检查是不是安装了应用程序的主要内容,如果未能解决你的问题,请参考以下文章

检查是不是安装了应用程序 - Android

如何以编程方式检查 Android 中是不是安装了应用程序?

检查 Windows 10 机器中是不是安装了非应用商店应用程序

检查是不是在 iOS 9 上安装或启动了特定应用程序

检查用户是不是安装了 Chrome 扩展程序

如何在 iOS 上检查用户设备上是不是安装了特定应用程序? [复制]