使用默认应用程序iOS从本地文件系统打开文件

我从服务器下载了一些文件并存储到本地文件系统中。 我想在设备中使用默认应用程序打开它们。 如何使用默认应用程序打开文件。 请提供一些示例代码。

谢谢

首先,您需要使用NSURL对象表示资源要打开的下载文件 )。 以下假设一个名为filePath的NSString已初始化,其中包含要打开的资源的路径。

NSURL *resourceToOpen = [NSURL fileURLWithPath:filePath]; 

然后最好先检查是否有可以打开资源的应用程序。

 BOOL canOpenResource = [[UIApplication sharedApplication] canOpenURL:resourceToOpen]; 

最后,如果上面的行返回yes,则打开资源。

 if (canOpenResource) { [[UIApplication sharedApplication] openURL:resourceToOpen]; } 

我引用了UIApplication类引用中关于实例方法canOpenURL的以下内容:

此方法保证如果调用openURL:,将启动另一个应用程序来处理它。 它不保证完整的URL有效。

但是,如果您希望向用户显示已使用适当的UTI注册该文件类型的应用程序列表,您可以执行以下操作 –

 UIDocumentInteractionController *documentController = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:filePath]]; documentController.delegate = self; [documentController presentOpenInMenuFromRect:CGRectZero inView:self.view animated:YES]; 

您必须实现UIDocumentInteractionControllerDelegate协议。 同样对于已知文件类型,系统应解析UTI属性的正确分配而不进行设置。