Kis*_*aak 4 iphone objective-c ipad ios
我从服务器下载了一些文件并存储到本地文件系统中.我想在设备中使用默认应用程序打开它们.如何使用默认应用程序打开文件.请提供一些示例代码.
谢谢
Bam*_*rld 11
首先,您需要使用NSURL对象表示资源(要打开的下载文件).以下假设一个名为filePath的NSString已初始化,其中包含要打开的资源的路径.
NSURL *resourceToOpen = [NSURL fileURLWithPath:filePath];
Run Code Online (Sandbox Code Playgroud)
然后最好先检查是否有应用程序打开资源.
BOOL canOpenResource = [[UIApplication sharedApplication] canOpenURL:resourceToOpen];
Run Code Online (Sandbox Code Playgroud)
最后,如果上面的行返回yes,则打开资源.
if (canOpenResource) { [[UIApplication sharedApplication] openURL:resourceToOpen]; }
Run Code Online (Sandbox Code Playgroud)
我引用了UIApplication类引用中关于实例方法canOpenURL的以下内容:
此方法保证,如果调用openURL:,将启动另一个应用程序来处理它.它不保证完整的URL有效.
但是,如果您希望向用户显示已使用适当的UTI注册该文件类型的应用程序列表,您可以执行以下操作 -
UIDocumentInteractionController *documentController = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:filePath]];
documentController.delegate = self;
[documentController presentOpenInMenuFromRect:CGRectZero inView:self.view animated:YES];
Run Code Online (Sandbox Code Playgroud)
您必须实现UIDocumentInteractionControllerDelegate协议.此外,对于已知文件类型,系统应解析UTI属性的正确分配而不进行设置.
| 归档时间: |
|
| 查看次数: |
12171 次 |
| 最近记录: |