iOS将文件在自己App中打开
1、首先在自己App的info.plist中注册可用类型
<key>CFBundleDocumentTypes</key><array><dict><key>CFBundleTypeName</key><string>com.myapp.common-data</string><key>LSItemContentTypes</key><array><string>com.microsoft.powerpoint.ppt</string><string>public.item</string><string>com.microsoft.word.doc</string><string>com.adobe.pdf</string><string>com.microsoft.excel.xls</string><string>public.image</string><string>public.content</string><string>public.composite-content</string><string>public.archive</string><string>public.audio</string><string>public.movie</string><string>public.text</string><string>public.data</string></array></dict></array>
.pptx: org.openxmlformats.presentationml.presentation
.docx: org.openxmlformats.wordprocessingml.document
.xlsx: org.openxmlformats.spreadsheetml.sheet
添加完后,保存,运行程序,在QQ中选择一个文件,选择用其他应用打开,就会发现我们的app
点击之后,会调转到自己的应用,并调用以下方法
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(nullable NSString *)sourceApplication annotation:(id)annotation;
通过返回的URL可知,分享过来的文件保存在了Document/Inbox文件夹下
之后就可以预览我们分享过来的文件了。
获取所有文件
NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/Inbox"];NSFileManager *fileManager=[NSFileManager defaultManager];self.sourceArr = [fileManager subpathsAtPath:path];
点击进行预览
NSString *path = [[NSHomeDirectory() stringByAppendingPathComponent:@"Documents/Inbox"] stringByAppendingPathComponent:self.sourceArr[indexPath.row]];NSURL *url = [NSURL fileURLWithPath:path];QLPreviewController *vc = [QLPreviewController new];self.filePath = url;vc.delegate = self;vc.dataSource = self;[self presentViewController:vc animated:YES completion:nil];
-(NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)controller{return 1;}-(id<QLPreviewItem>)previewController:(QLPreviewController *)controller previewItemAtIndex:(NSInteger)index{return self.filePath;}
iOS将文件在自己App中打开相关推荐
- 为什么matlab生成的exe文件只能在matlab中打开,在电脑的其他地方打不开?
为什么matlab生成的exe文件只能在matlab中打开,在电脑的其他地方打不开? 2014-11-09 20:20147****3349 | 浏览 448 次 操作系统 在同一个电脑里,在mat ...
- python 打开excel并在屏幕上呈现_excel-检查文件是否在Python中打开
excel-检查文件是否在Python中打开 在我的应用程序中,我写入一个Excel文件. 写入后,用户可以通过打开文件来查看文件. 但是,如果用户忘记了在进一步写入之前关闭文件,则会出现警告消息. ...
- android点击另一个app,Android 怎么从一个APP中打开另外一个APP
Android 如何从一个APP中打开另外一个APP 众所周知,在一个APP内部,从一个页面跳转到另外一个页面是使用startactivity函数来实现的. 同样的,对于应用之间的跳转也是如此的.应用 ...
- uniapp 微信小程序地图,在高德app、腾讯app、百度app、苹果地图app 中打开
一.效果: 点击图片一后,会跳转到图片二页面(无需自己写图片二页面,小程序会自动打开此页面) PS:示例图中(坐标)为"天安门".( <map> 可添加多个坐标点 ) ...
- 操作无法完成因为文件已在syayem中打开怎么处理删除文件。
情况一:如果是在Win10系统下(尤其是想要删除镜像文件时),删除文件时出现"操作无法完成,因为文件已在system中打开 "这样的情况是.此时需要打开"计算机" ...
- 在自己的app中打开淘宝
需求:在app中打开淘宝客户端,包括打开店铺和商品 1)打开商品: Intent intent = new Intent(); intent.setAction("android.inten ...
- 操作无法完成,因为该文件已在system中打开
一 .操作无法完成,因为该文件已在system中打开 1 同时按下键盘上的Ctrl+Shift+ESC组合键,打开"任务管理器", 2 切换到"性能"选项卡下, ...
- 解决:利用IDEA的右上角图标打开jsp文件,在浏览器中打开的是“本机文件路径”,而不是“http路径”问题
解决:利用IDEA的右上角图标打开jsp文件,在浏览器中打开的是"本机文件路径",而不是"http路径"问题 一·问题描述: 二·错误原因: 三·解决方法: 方 ...
- 【win10】操作无法完成,因为文件已在XXX中打开
一. 问题描述 小编在更新使用的某软件时(ps:此软件的更新只能重新下载一遍),明明已经将所有打开的此软件的.exe都关闭了,最后想要修改.exe名称时,却提示操作无法完成,因为文件已在XXX中打开. ...
最新文章
- python大数据结课报告_2020知到大数据分析的PYTHON基础结课答案
- Pytorch中图像预处理相关函数
- 指针,指针函数,指针数组的区别
- 测试必备:单元测试测试类,以帮助匿名管理调查的类为例详解--白盒测试
- Android 大位图加载
- HDU 1087 Super Jumping! Jumping! Jumping!【最大递增子段和】
- 【ACL2020】基于语境的文本分类弱监督学习
- RC电路延时公式推导
- 数据分析必备43个Excel函数
- aptana php,aptana 3 + xdebug php
- 基于信心上界蒙特卡洛搜索树(UCT)实现四子棋
- python培训班出来能找到工作吗-Python培训班出来好找工作吗?
- 吃透MIPI接口,你必须了解它这三种PHY规范的区别
- 深度学习平台的分布式实现综述
- android手机红外代码HAL,Android 红外遥控器适配
- python split()函数
- 服务器中使用Top命令后,参数解释
- 浅谈Peer Review
- org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type ‘****‘
- ActivePerl概述
热门文章
- better-scroll刷新后才能滑动的解决方案
- 如何处理异常? catch Exception OR catch Throwable
- 使用CGlib出现java.lang.NoClassDefFoundError: org/objectweb/asm/Type异常
- 我如何进入Docker容器的shell?
- 如何在C#中用单个空格替换多个空格?
- 如何以编程方式退出WPF应用程序?
- java 项目使用 ajaxfileupload
- 函数式编程语言时代已经来临
- win2008 域服务器搭建教程
- Phantom.js维护者退出,项目的未来成疑