Обнаружение программно, установлено ли приложение на iPhone

Я в этой ситуации, когда мне нужно отобразить кнопку, которая говорит «Open myApp» (если myApp установлен на устройстве), или он говорит «Загрузить myApp» (если myApp не установлен на устройстве) в приложении iphone. Для этого мне нужно определить, установлено ли на устройстве приложение (с известным пользовательским URL). Как я могу это сделать? Заранее спасибо.

ОБНОВЛЕНО 8 января 2014 г. – 3 вещи, которые вы можете сделать

Я действительно должен был сделать это для клиента снова. Они хотели, чтобы пользователи могли открыть свое второе приложение из основного приложения, если оно было установлено.

Это мое открытие. Используйте метод canOpenURL чтобы проверить, установлено ли приложение или /, а затем используйте метод openURL для

  1. Откройте приложение, установленное на устройстве iOS.
  2. Взять пользователя в хранилище приложений прямо, указав их на приложение / список приложений для разработчиков
  3. Возьмите их на веб-сайт вместо

Все образцы кода, доступные для каждого сценария

 //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"]]; } } 

Выберите один вариант, я просто испортил вам выбор. Выберите тот, который соответствует вашим требованиям. В моем случае мне пришлось использовать все три варианта в разных областях программы.

Если схема URL для вашего приложения «myapp:», то

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

(Требуется iOS 3.0.)

Чтобы проверить приложение, установите его на устройство или нет.

1) В info.plist добавьте LSApplicationQueriesSchemes, как показано ниже

введите описание изображения здесь

2) и в типах URL

введите описание изображения здесь

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

Давайте будем гением компьютера.