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

Как открыть другое приложение с помощью tvOS?

Работает ли UIApplication:openURL?

NSString *iTunesLink = @"http://www.youtube.com/watch?v=TFFkK2SmPg4";
BOOL did = [[UIApplication sharedApplication] openURL:[NSURL URLWithString:iTunesLink]];

Это ничего не делает.

4b9b3361

Ответ 1

Я предполагаю, что вы хотите протестировать Пользовательскую схему URL. Вы хотите использовать canOpenURL, чтобы узнать, можно ли сначала открыть URL. canOpenURL возвращает значение BOOL, указывающее, может ли схема URL-адресов обрабатываться некоторым приложением, установленным на устройстве. Если canOpenURL возвращает YES, вы продолжаете открывать URL-адрес с помощью openURL.

Ссылки на YouTube открывают приложение YouTube по умолчанию на устройствах iOS. Это поведение еще не тестируется на новом Apple TV, поскольку приложение YouTube недоступно в бета-версии tvOS.

Вот пример использования canOpenURL, чтобы узнать, установлен ли Facebook на устройстве iOS, используя его схему URL-адреса Cutsom:

Obj-C:

// Check if FB app installed on device
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"fb://"]]) {
   [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"fb://profile/355356557838717"]];
}
else {
   // FB not installed
   // Do something else
}

Swift:

// Check if FB app installed on device
if UIApplication.sharedApplication().canOpenURL(NSURL(string:"fb://")!) {
    UIApplication.sharedApplication().openURL(NSURL(string:"fb://profile/355356557838717")!)
}
else {
    // FB not installed
    // Do something else
} 

Я бы предположил, что такие приложения, как Facebook и другие, будут реализовывать свои собственные схемы URL-адресов так же, как их iOS-копии.