以编程方式检测iPhone上是否安装了应用程序

在这种情况下,我必须在iPhone应用程序中显示“打开myApp”(如果myApp安装在设备上)或“下载myApp”(如果myApp未安装在设备上)button。 为此,我需要检测设备上是否安装了具有已知自定义URL的应用程序。 我该怎么做? 提前致谢。

2014年1月8日更新 – 你可以做3件事

我实际上不得不再次为客户做这个。 他们希望用户能够从主应用程序打开他们的第二个应用程序,如果它已经安装。

这是我的发现。 使用canOpenURL方法来检查应用程序是否安装或/然后使用openURL方法

  1. 打开安装在iOS设备上的应用程序
  2. 将用户带到应用程序商店,直接将其指向应用程序/您的开发人员应用程序列表
  3. 把他们带到一个网站

所有代码示例可用于每个scheme

 //Find out if the application has been installed on the iOS device - (BOOL)isMyAppInstalled { return [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"nameOfMyApp:"]]; } - (IBAction)openOrDownloadApp { //This will return true if the app is installed on the iOS device if ([self myAppIsInstalled]){ //Opens the application [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"nameOfMyApp:"]]; } else { //App is not installed so do one of following: //1. Take the user to the apple store so they can download the app [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms://itunes.com/apps/nameOfMyApp"]]; //OR //2. Take the user to a list of applications from a developer //or company exclude all punctuation and space characters. //for example 'Pavan's Apps' [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms://itunes.com/apps/PavansApps"]]; //OR //3. Take your users to a website instead, with maybe instructions/information [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.pavan.com/WhyTheHellDidTheAppNotOpen_what_now.html"]]; } } 

select一个选项,我只是select宠坏了你。 select一个适合您的要求。 就我而言,我不得不在scheme的不同领域使用这三种select。

如果您的应用程序的URLscheme是“myapp:”,那么

 BOOL myAppInstalled = [[UIApplication sharedApplication] canOpenURL:[NSURL urlWithString:@"myapp:"]]; 

(需要iOS 3.0。)

检查应用程序是否安装在设备中

1) 在info.plist中添加LSApplicationQueriesSchemes,如下例所示

在这里输入图像描述

2)和URLtypes

在这里输入图像描述

3)现在检查应用程序是否安装

 - (IBAction)openAppPressed:(UIButton *)sender { NSString *urlString = @"XYZAPP://"; NSURL *url = [NSURL URLWithString:urlString]; if ([[UIApplication sharedApplication] canOpenURL:url]) { [[UIApplication sharedApplication] openURL:url]; } else { [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itunes link for download app"]]; } } 

您可以在需要此应用程序嗅探的任何页面的头部添加一个简单的元标记。

欲了解更多信息,请点击这里:

http://developer.apple.com/library/ios/#documentation/AppleApplications/Reference/SafariWebContent/PromotingAppswithAppBanners/PromotingAppswithAppBanners.html

Interesting Posts