В этой ситуации я должен отобразить кнопку, которая говорит "Open myApp" (если myApp установлен на устройстве) или он говорит "Загрузить myApp" (если myApp не установлен на устройстве) в iphone приложение. Для этого мне нужно определить, установлено ли на устройстве приложение (с известным пользовательским URL). Как я могу это сделать? Спасибо заранее.
Обнаружение программно, установлено ли приложение на iPhone
Ответ 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"]];
}
}
Ответ 4
Вы можете добавить простой метатег в голову любой страницы, для которой требуется это приложение.
Для получения дополнительной информации перейдите по ссылке: