iOS实现两个APP之间共享文件(从一个App拷贝文件至另一个App)
直接上解决方案:
在项目Info.plist文件中添加如图所示字段(红色框框里是表示所有文件类型都可拷贝)
具体文件类型参考:
Apple documentation
到这一步还没完成:
文件拷贝到咱们App了,咱们需要处理一下(要么存本地,要么直接预览)我的处理是存本地.上代码:
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options
{NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);NSString *documentsDirectory = [paths lastObject];if (url != nil) {NSString *path = [url absoluteString];path = [path stringByRemovingPercentEncoding];NSMutableString *string = [[NSMutableString alloc] initWithString:path];if ([path hasPrefix:@"file:///private"]) {[string replaceOccurrencesOfString:@"file:///private" withString:@"" options:NSCaseInsensitiveSearch range:NSMakeRange(0, path.length)];}NSArray *tempArray = [string componentsSeparatedByString:@"/"];NSString *fileName = tempArray.lastObject;NSString *sourceName = options[@"UIApplicationOpenURLOptionsSourceApplicationKey"];NSFileManager *fileManager = [NSFileManager defaultManager];NSString *filePath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@%@",sourceName,fileName]];if ([fileManager fileExistsAtPath:filePath]) {NSLog(@"文件已存在");[SVProgressHUD showErrorWithStatus:@"文件已存在"];return YES;}[MRTools creatFilePathInManager:sourceName];BOOL isSuccess = [fileManager copyItemAtPath:string toPath:filePath error:nil];if (isSuccess == YES) {NSLog(@"拷贝成功");[SVProgressHUD showSuccessWithStatus:@"文件拷贝成功"];} else {NSLog(@"拷贝失败");[SVProgressHUD showErrorWithStatus:@"文件拷贝失败"];}}NSLog(@"application:openURL:options:");return YES;
}
至此结束,大家可以参考下.麻烦大家动动手指,点波关注。非常感谢。
iOS实现两个APP之间共享文件(从一个App拷贝文件至另一个App)相关推荐
- 怎样用计算机传输文件,如何在两台电脑之间传输几百G的文件?教你一招
原标题:如何在两台电脑之间传输几百G的文件?教你一招 电脑与电脑之间进行几百GB的文件传输怎么做呢?宽带传输效率太低,移动硬盘传输还得买个大硬盘,价格也比较贵. 那该怎么解决呢?So easy!一根网 ...
- 两台电脑如何共享文件?如何互相传输文件?
两台电脑想要互相传输文件,一般想到的是登录QQ,把文件上传到QQ里,再在另一台电脑上登录QQ,把文件下载下来,但是这样太麻烦了!不仅浪费流量,还费时间.使用文件共享功能就能解决这个问题. 正好家里有两 ...
- IOS 计算两个时区之间的时间差
我们首先使用NSDate来创建两个时间,将两个时间都格式化.转换为字符串格式: NSDateFormatter* dateFormat = [[NSDateFormatter alloc] init] ...
- iOS XCode 两个项目之间快速切换 快捷键
在用XCode开发时,经常需要在XCode同时打开的多个项目之间切换,之前我一直用触摸板,用三个手指在触摸板上往上推,然后选择不同的项目.其实更多的时候是在两个项目之前切换,这时候就有特别方便的快捷键 ...
- ios时间相差多少天,获取ios中两个日期之间的天数?
How to get name of days between two dates in ios? Example: Input: Start Date: 3-11-2012 End date: 5- ...
- 使用windows自带功能实现局域网两台电脑之间共享文件夹
我的电脑-右键-属性-查看计算机名 选择一个文件夹-右键-属性-共享-共享-选择共享的用户 退回来一层,选择高级共享-点共享/共享此文件夹-点确定 退回来一层,点网络与共享中心,启用网络发现,共享文件 ...
- 两台电脑之间共享文件
设置共享文件夹 创建一个文件夹share,一个要分享的文件share.txt 右键点击文件夹share,双击"属性" 选择"共享"->"高级共享 ...
- iOS 计算两个日期之间的差值
NSDateFormatter *dateFomatter = [[NSDateFormatter alloc] init];dateFomatter.dateFormat = @"yyyy ...
- 计算两个日期之间的日期差。输入:第一行为一个整数T,表示有T组数据,每行三个整数year, month, day 分别代表年,月,日。输出:每组输出一个整数,表示从2012年3月12到给出的日期共几天
# 输入:第一行为一个整数T,表示有T组数据,接下去T行,每行三个整数year, month, day 分别代表年,月,日. # 输出:对于每组数据输出1个整数,表示从2012年3月12日到给出的日期 ...
- iOS实现app之间的内容分享总结
iOS实现app之间的内容分享总结 说到iOS实现app之间的内容分享,第一印象就是社会化分享,然后就是QQ.微信.微博等的第三方分享SDK,当然现在也有很多做社会化分享集合的,例如友盟分享.Shar ...
最新文章
- java ranger rest_kafka ranger integration issuse
- LeetCode 210. 课程表 II(拓扑排序)
- 全渠道java b2b b2c o2o平台
- mysql多个外键删除设置_Mysql在删除集上使用多个外键创建表
- SQLi LABS Less-4 联合注入+报错注入
- 安卓Android资源链接失败,Android资源链接失败
- SAE实践——用SVN命令行同步/提交代码
- vb webQQ登陆器
- 微信小程序生成体验版二维码
- win10卸载程序灾难性故障_win10新建文件夹出现0X8000FFFF:灾难性故障的错误提示解决方法...
- 错过2021牛股?2022ESG投资预测拿住
- 《计算机网络自顶向下》笔记
- Azure云平台之游戏
- HD44780http://blog.sina.com.cn/s/blog_61b6e08b01016xif.html
- qgraphicsview 绘图软件 github_重磅推荐!免费在线分析与绘图神器分享
- 项链(牛客竞赛2020-普及组第四场-T4)
- 加入美人联盟,一起创造App增长新生态
- 那你讲一下LeakCanary的原理
- Apple Watch开发
- linux下cpu性能测试软件,Linux系统性能测试工具(四)——CPU性能测试工具之super_pi、sysbench...