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

Pra*_*sad 11 objective-c tvos

有用UIApplication:openURL吗?

NSString *iTunesLink = @"http://www.youtube.com/watch?v=TFFkK2SmPg4";
BOOL did = [[UIApplication sharedApplication] openURL:[NSURL URLWithString:iTunesLink]];
Run Code Online (Sandbox Code Playgroud)

这什么都不做.

Dan*_*orm 10

我假设您要测试自定义URL方案.您将需要使用canOpenURL以查看是否可以先打开URL.canOpenURL返回一个BOOL值,指示URL的方案是否可以由设备上安装的某个应用程序处理.如果canOpenURL返回,YES那么您将继续打开URL openURL.

YouTube链接默认在iOS设备上打开YouTube应用.此行为尚未在新的Apple TV上测试,因为YouTube的应用程序无法在tvOS测试版中访问.

以下是如何canOpenURL使用其自定义URL方案查看Facebook是否安装在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
}
Run Code Online (Sandbox Code Playgroud)

迅速:

// 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
} 
Run Code Online (Sandbox Code Playgroud)

我预计Facebook等应用程序将以与iOS对应方式相同的方式实现自定义URL方案.

  • @PrasannaPrasad创建一个应用程序并实现自定义URL方案,即.`ApplicationOne://'.然后创建另一个应用程序,通过您声明的自定义URL方案打开第一个应用程序.例如,`if([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"ApplicationOne://"]])`.[这是一个很好的截图](http://stackoverflow.com/a/32187854/2108547),了解如何实现自定义URL方案. (2认同)