应用间文件分享

有个需求是在qq或者微信收到文件以后,要传到我们自己的应用里面来。QQ收到文件以后,有一个选项,“其他应用打开”,我们把我们的应用也加进去就好了。

IMG_0263.jpg

第一步:添加Document Types

Targets -> Info -> Document Types,加一个就好了。


屏幕快照 2016-05-31 上午11.13.21.png

‘Add icons here’选了图片,但是这个位置没反应,也不知道是干是什么用的。

第二步:接收文件

AppDelegate 里面实现

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(nullable NSString *)sourceApplication annotation:(id)annotation NS_DEPRECATED_IOS(4_2, 9_0, "Please use application:openURL:options:") __TVOS_PROHIBITED;

这个方法有点过时,推荐的方法

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options NS_AVAILABLE_IOS(9_0); // no equiv. notification. return NO if the application can't open for some reason

从9.0有效,两个方法都实现,在9.0+手机上,只有下面的方法被调用。

输出url

 file:///private/var/mobile/Containers/Data/Application/1EDXXXE7-30C9-XX31-AE49-XX1ECB8CC92E/Documents/Inbox/studyjava-1.pdf

拿到URL,取出文件就没有什么问题。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,347评论 19 139
  • iOS开发系列--网络开发 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博、微信等,这些应用本身可...
    lichengjin阅读 9,119评论 2 7
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,906评论 18 399
  • 北京有个小窝,5月回去照料时,发现曾经的芳香小伙伴归隐了山林,做起了芳香仙子。 应邀去馨院儿小住,分享一下这接地气...
    芳香行者Sunny阅读 3,616评论 2 6
  • 在一个风和日丽,阳光明媚的日子里。 与小王八约会了… 小王八是谁? 下面先简单的介绍一下 小王八是一个… 用她自己...
    Phoebe超阅读 1,222评论 2 1