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中打开. ...
最新文章
- SAP RETAIL 寄售模式公司间STO收发货过账后的观察
- SDUT _2117 数据结构实验之链表二:逆序建立链表
- 【机器学习算法专题(蓄力计划)】二十、实操代码MNIST 数据集
- 从三角不等式到Margin Softmax
- Lambda表达式替代匿名方法
- 快来加入阿里云大学【云学院】班级助理招募—机会稍纵即逝,错过遥遥无期!...
- node 获取表单数据 为空_像声明类型一样写表单——基础功能
- 黑鲨或将在明天公布黑鲨4系列游戏手机
- SlideSwitch仿iphone滑动开关组件,仿百度魔图滑动开关组件Android
- OpenCV中Rect()函数常用操作和使用详解(含绘图示例)+Rectangle()函数用法
- 在网页上查看App Store的app介绍
- ActiveMQ 反序列化漏洞 (CVE-2015-5254)
- EasyUI datagrid editor 中用filebox上传图片失败问题
- java 1 20内奇数的乘积_计算所有奇数的乘积
- excel电子表格发展历史
- 你肯定没见过,科幻作品中的邪恶圣诞老人
- 无处安放的野心和能力
- Winfrom+Devexpress 之GridControl ConvertTo TileView 制作精美的卡片式看板
- 流程图制作之Giffy Diagrams
- 西电研一人工智能复习随笔
热门文章
- 关于svn更新失败,clearup异常解决
- 解决LaTex中插入Visio画图有多余边框的问题
- 解决ASP.NET网站发布问题
- ELK菜鸟手记 (三) - X-Pack权限控制之给Kibana加上登录控制以及index_not_found_exception问题解决
- 使用CSS将文字长度限制为n行
- 洛谷P3779 [SDOI2017]龙与地下城(概率论+Simpson+FFT)
- JUC之CountDownLatch的源码和使用场景分析
- BZOJ5319 洛谷4559 LOJ2551:[JSOI2018]军训列队——题解
- servlet session listener
- TNF诱导的关节破坏由IL-1介导