Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

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

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

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

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

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

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

    } 
}

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

Ответ 2

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

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

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

Ответ 3

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

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