如何使用 tvOS 打开另一个应用程序?

How do I open another application with tvOS?

UIApplication:openURL有效吗?

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

这没有任何作用。

我假设您想要测试 Custom URL Scheme。你会想用canOpenURL看看能不能先打开URL。 canOpenURL returns 一个 BOOL 值,指示 URL 的方案是否可以由安装在设备上的某些应用程序处理。如果 canOpenURL returns YES 那么你会继续用 openURL.

打开 URL

默认情况下,YouTube 链接会在 iOS 台设备上打开 YouTube 应用。由于无法在 tvOS 测试版中访问 YouTube 的应用程序,因此尚无法在新的 Apple TV 上测试此行为。

下面是一个示例,说明如何使用 canOpenURL 查看 Facebook 是否安装在使用其自定义 URL 方案的 iOS 设备上:

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 和其他应用程序将以与 iOS 同行相同的方式实施其自定义 URL 方案。