ios - 如何检查iOS设备中是否安装了应用程序?

标签 ios xcode

我正在做一个 iOS 应用程序。在那里,我有一个用于 UITableView 的模块。在那个 UITableView 中,我显示了一些应用名称列表。这些名称来 self 的服务器。这些是我公司的应用程序。所以,我不知道有多少应用程序会来自服务器。用户单击 UITableViewCell 后,我需要检查该应用程序是否已安装在该设备上。如果未安装,用户需要使用该应用的应用商店链接转到应用商店。我检查了一些教程。他们说,使用 url 方案我们可以做到这一点。但是,我没有这些 url 的 url 方案,因为这些应用程序来自服务器。另外,我尝试了以下方法

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms://itunes.com/apps/nameOfMyApp"]]; 
[[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"nameOfMyAppOrurl:"]];

但没有任何帮助。任何人都可以对这个问题有想法,如果有请提出宝贵的建议。

最佳答案

您需要有一个 App URL scheme对于列表中的每个应用,没有其他方法可以检查该应用是否已安装。

我猜您服务器的列表形式将采用 JSON 格式,类似于:

{
   "name" : "My Cool APP",
   "scheme" :"mycoolapp:",
   "itunes": "http:///...../"
}

然后做类似的事情:

    if ([[UIApplication sharedApplication] canOpenURL:scheme]) {
        [[UIApplication sharedApplication]openURL:scheme];
    }
    else {
        [[UIApplication sharedApplication]openURL:itunesURL];
    }

关于ios - 如何检查iOS设备中是否安装了应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25033705/

相关文章:

iphone - Table View的带有图片的标题在iPhone 5中不起作用

xcode - 错误: "Cannot assign to immutable expression of type ' Bool'"?

iphone - 在 prefix.pch IOS 中覆盖 NSLOG

xcode - 在 xcode 中打开一个工作区,而不是一个项目

ios - Swift ObjectMapper 类型推断

ios - 来自外部文件的位置坐标

ios - OS X 的 SecRandomCopyBytes 分支安全吗?

ios - Spotify 用户专辑不匹配

ios - 如何从 UIImageView 中的 "User"类获取用户图像?解析网

ios - iOS 11 中的 SKReferenceNode 问题