Схема URL: открыть приложение или магазин приложений по почте

Я создаю приложение, в котором пользователи могут обмениваться данными, отправляя друг другу электронные письма. В этом письме есть ссылка на мое приложение (я создал схему URL для своего приложения). Но если у пользователя нет моего приложения на своем iPhone, то, когда он нажимает на ссылку, ничего не происходит.

Мой вопрос: как мне запустить приложение, если оно установлено на iPhone пользователя, и запустить магазин приложений или веб-сайт, если это приложение не установлено.

Спасибо


person Titouan de Bailleul    schedule 11.05.2012    source источник
comment
Похоже, вам нужны две ссылки.   -  person paulmelnikow    schedule 12.05.2012
comment
Нравится, если у вас нет этого приложения, нажмите здесь?   -  person Titouan de Bailleul    schedule 12.05.2012
comment
Хм, похоже, есть и другие возможности: stackoverflow.com/questions/1108693/   -  person paulmelnikow    schedule 12.05.2012


Ответы (1)


canOpenURL - это то, что вы ищете.

Вот пример запуска приложения twitter:

NSURL* twitterURL = [NSURL URLWithString:[NSString stringWithFormat:@"twitter:@%@", twitterUser]];

if ([[UIApplication sharedApplication] canOpenURL:twitterURL]) {
    [[UIApplication sharedApplication] openURL:twitterURL];
} else {
    NSURL* url = [NSURL URLWithString:@"http://itunes.apple.com/us/app/twitter/id333903271?mt=8"];
    [[UIApplication sharedApplication] openURL:url];
}   

ИЗМЕНИТЬ

Если вы хотите сделать это с веб-страницы или электронного письма в формате html, вы найдете свой ответ здесь: https://stackoverflow.com/a/627942/550177

и здесь: https://stackoverflow.com/a/1109200/550177

person Felix    schedule 11.05.2012
comment
OP спрашивает о ссылке в Mail.app. - person paulmelnikow; 12.05.2012
comment
Я пробовал использовать две ссылки, но не могу заставить window.location = ... работать. Вы уверены, что это работает в электронной почте? - person Titouan de Bailleul; 12.05.2012
comment
Нет, я не знаю, как встраивать код JavaScript в электронные письма HTML. Прости. - person Felix; 13.05.2012
comment
кто-нибудь нашел ответ на это? В моем случае, если схема URL отсутствует в моем списке, ссылка (myapp: //? AParam = 123) даже не определяется как ссылка. Он выглядит как обычный текст. Хочу, если приложение не установлено, отвести пользователя в магазин приложений. - person nr5; 28.01.2015
comment
вставьте ссылку http, которая перенаправляет пользователя либо в магазин приложений, либо в приложение, используя этот трюк с javascript (см. stackoverflow.com/a/1109200/ 550177). - person Felix; 28.01.2015