0

我想打开另一个应用程序(如 GDrive、iBooks 等)。使用我的应用程序中的 UTI。

为此,我尝试使用此站点中的以下代码,该代码用于将 PDF 文件从我的应用程序导出到另一个应用程序。

    NSString * filePath = [[NSBundle mainBundle] pathForResource:nil ofType:@"pdf"];    
documentController = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:filePath]];
documentController.delegate = self;
[documentController retain];
documentController.UTI = @"com.adobe.pdf";
[documentController presentOpenInMenuFromRect:CGRectZero inView:Parent animated:YES];

上面的代码确实为我提供了我的应用程序在我的设备上可用的应用程序列表(GDrive、iBooks 等),但是当我单击这些应用程序中的任何一个时,它会将我的应用程序中的一个 PDF 导出到该选定的应用程序,尽管我已将 FilePath 用作“NIL”。

我想要做的是能够从我的应用程序在我的设备上打开任何可用的其他应用程序(GDrive、iBooks 等),而无需将任何 PDF 文件从我的应用程序发送到其他应用程序。

4

3 回答 3

1

自定义 URL 是要走的路。请参阅此链接以获取具有实现的示例代码。

于 2012-08-28T13:31:47.927 回答
1

URL Schemes 是可行的方法,但当然不是每个应用程序都有它们。可以在此处找到完整列表(到此答案时,该网站存在某种错误并且无法打开)。

关于如何使用它们打开 Facebook 应用程序的示例:

NSURL *url = [NSURL URLWithString:@"fb://"];

if ([[UIApplication sharedApplication] canOpenURL:url])
{
    [[UIApplication sharedApplication] openURL:url];
} // else -> i.e. open Safari to Facebook's page or show an error message
于 2012-08-28T14:56:08.213 回答
0

每个 APP 都由标识符组成,标识符形式为“com.companyName.appName”(例如:“com.adobe.appname”)。要在特定应用中打开它,

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"com.adobe.appname"]];

于 2013-06-28T17:28:07.640 回答