Вот логика, чтобы определить, установлен ли Skype.В операторе else вы указываете, как вы хотите представить инструкции по установке Skype для установки.Очевидно, что это будет работать для любой пользовательской схемы URL, реализованной для приложения iOS, при условии, что вы соответствующим образом обновляете схему URL для каждого приложения.
NSString *contactName = @"user123";
NSURL *skypeURL = [NSURL URLWithString:[NSString stringWithFormat:@"skype://%@?call", contactName]];
if ([[UIApplication sharedApplication] canOpenURL:skypeURL]) {
[[UIApplication sharedApplication] openURL:skypeURL];
} else {
// Display to the user how to install skype.
}
Обновление:
Я только что заметил, что тег был для Mobile-Safari , поэтому я предполагаю, что это поиск веб-решения.Я не думаю, что то, что вы пытаетесь достичь, будет возможно тогда.Единственный способ, которым я мог думать о том, чтобы сделать это, это заставить XMLHTTPRequest вызвать URL-адрес, чтобы узнать, не вызывает ли URL-адрес ошибку 404. Проблема в том, что любой домен, из которого вы выполняете код Javascript, не будет иметь skype: // Схема в нем и, несомненно, выдаст ошибку безопасности.Это связано с тем, что Javascript не позволяет XMLHttpRequest переходить на домены, отличные от исходного домена, где размещен ваш код.