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中打开相关推荐

  1. 为什么matlab生成的exe文件只能在matlab中打开,在电脑的其他地方打不开?

    为什么matlab生成的exe文件只能在matlab中打开,在电脑的其他地方打不开? 2014-11-09 20:20147****3349 | 浏览 448 次  操作系统 在同一个电脑里,在mat ...

  2. python 打开excel并在屏幕上呈现_excel-检查文件是否在Python中打开

    excel-检查文件是否在Python中打开 在我的应用程序中,我写入一个Excel文件. 写入后,用户可以通过打开文件来查看文件. 但是,如果用户忘记了在进一步写入之前关闭文件,则会出现警告消息. ...

  3. android点击另一个app,Android 怎么从一个APP中打开另外一个APP

    Android 如何从一个APP中打开另外一个APP 众所周知,在一个APP内部,从一个页面跳转到另外一个页面是使用startactivity函数来实现的. 同样的,对于应用之间的跳转也是如此的.应用 ...

  4. uniapp 微信小程序地图,在高德app、腾讯app、百度app、苹果地图app 中打开

    一.效果: 点击图片一后,会跳转到图片二页面(无需自己写图片二页面,小程序会自动打开此页面) PS:示例图中(坐标)为"天安门".( <map> 可添加多个坐标点 ) ...

  5. 操作无法完成因为文件已在syayem中打开怎么处理删除文件。

    情况一:如果是在Win10系统下(尤其是想要删除镜像文件时),删除文件时出现"操作无法完成,因为文件已在system中打开 "这样的情况是.此时需要打开"计算机" ...

  6. 在自己的app中打开淘宝

    需求:在app中打开淘宝客户端,包括打开店铺和商品 1)打开商品: Intent intent = new Intent(); intent.setAction("android.inten ...

  7. 操作无法完成,因为该文件已在system中打开

    一 .操作无法完成,因为该文件已在system中打开 1 同时按下键盘上的Ctrl+Shift+ESC组合键,打开"任务管理器", 2 切换到"性能"选项卡下, ...

  8. 解决:利用IDEA的右上角图标打开jsp文件,在浏览器中打开的是“本机文件路径”,而不是“http路径”问题

    解决:利用IDEA的右上角图标打开jsp文件,在浏览器中打开的是"本机文件路径",而不是"http路径"问题 一·问题描述: 二·错误原因: 三·解决方法: 方 ...

  9. 【win10】操作无法完成,因为文件已在XXX中打开

    一. 问题描述 小编在更新使用的某软件时(ps:此软件的更新只能重新下载一遍),明明已经将所有打开的此软件的.exe都关闭了,最后想要修改.exe名称时,却提示操作无法完成,因为文件已在XXX中打开. ...

最新文章

  1. SAP RETAIL 寄售模式公司间STO收发货过账后的观察
  2. SDUT _2117 数据结构实验之链表二:逆序建立链表
  3. 【机器学习算法专题(蓄力计划)】二十、实操代码MNIST 数据集
  4. 从三角不等式到Margin Softmax
  5. Lambda表达式替代匿名方法
  6. 快来加入阿里云大学【云学院】班级助理招募—机会稍纵即逝,错过遥遥无期!...
  7. node 获取表单数据 为空_像声明类型一样写表单——基础功能
  8. 黑鲨或将在明天公布黑鲨4系列游戏手机
  9. SlideSwitch仿iphone滑动开关组件,仿百度魔图滑动开关组件Android
  10. OpenCV中Rect()函数常用操作和使用详解(含绘图示例)+Rectangle()函数用法
  11. 在网页上查看App Store的app介绍
  12. ActiveMQ 反序列化漏洞 (CVE-2015-5254)
  13. EasyUI datagrid editor 中用filebox上传图片失败问题
  14. java 1 20内奇数的乘积_计算所有奇数的乘积
  15. excel电子表格发展历史
  16. 你肯定没见过,科幻作品中的邪恶圣诞老人
  17. 无处安放的野心和能力
  18. Winfrom+Devexpress 之GridControl ConvertTo TileView 制作精美的卡片式看板
  19. 流程图制作之Giffy Diagrams
  20. 西电研一人工智能复习随笔

热门文章

  1. 关于svn更新失败,clearup异常解决
  2. 解决LaTex中插入Visio画图有多余边框的问题
  3. 解决ASP.NET网站发布问题
  4. ELK菜鸟手记 (三) - X-Pack权限控制之给Kibana加上登录控制以及index_not_found_exception问题解决
  5. 使用CSS将文字长度限制为n行
  6. 洛谷P3779 [SDOI2017]龙与地下城(概率论+Simpson+FFT)
  7. JUC之CountDownLatch的源码和使用场景分析
  8. BZOJ5319 洛谷4559 LOJ2551:[JSOI2018]军训列队——题解
  9. servlet session listener
  10. TNF诱导的关节破坏由IL-1介导