iOS通过UIDocumentInteractionController实现应用间传文件

 更新时间:2023年01月15日 11:57:46   作者:头疼脑胀的代码搬运工  
这篇文章主要为大家介绍了iOS通过UIDocumentInteractionController实现应用间传文件示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

引言

话开篇:由于iOS沙盒机制,APP文件存储位置只能当前应用访问,这里简单记录一下用 UIDocumentInteractionController 实现APP间传文件。

一、实现效果

两个 APPTestProjectA 将文件通过 UIDocumentInteractionController 来传递到 TestProjectB

二、配置工程

要想通过系统 UIDocumentInteractionController 功能展示指定的APP,那么,需要在指定的工程 Info.plist 加入如下信息:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd" >
<plist version="1.0" >
    <dict>
        <key> CFBundleDocumentTypes </key>
        <array>
            <dict>
                <key> LSHandlerRank </key>
                <string> Default </string>
                <key> LSItemContentTypes </key>
                <array>
                <string> com.adobe.pdf </string>
                    <string> public.data </string>
                    <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>
                </array>
            </dict>
        </array>
    </dict>
</plist>

三、用法

1、弹出文件其他打开方式工具栏

APP-A

self.documentInteractionController = [UIDocumentInteractionController interactionControllerWithURL:fileUrl];
self.documentInteractionController.delegate = self;
[self.documentInteractionController presentOpenInMenuFromRect:CGRectZero inView:self.view animated:YES];

2、接收文件

APP-B

其实这里的所说的 "接收文件" 是有些不妥的,因为,当 AppDelegate 的方法里获取到文件的沙盒路径已经是 APP-B 的了,这里只是拿来就用。

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
{
    if ([url.scheme isEqualToString:@"file"]) {
        NSString * replaceStr;
        #if TARGET_IPHONE_SIMULATOR//模拟器
        replaceStr = @"file://";
        #elif TARGET_OS_IPHONE//真机
        replaceStr = @"file:///private";
        #endif
        NSString * filePathStr = [[NSString stringWithFormat:@"%@",url] stringByReplacingOccurrencesOfString:replaceStr withString:@""];
        /** 业务逻辑 **/
    }
    return YES;
}

内容仅为简单记录,并不是什么新的技术。只是在开发的时候需要时权当个笔记。

以上就是iOS通过UIDocumentInteractionController实现应用间传文件的详细内容,更多关于iOS应用间传文件的资料请关注脚本之家其它相关文章!

相关文章

  • 详解iOS App开发中UIViewController的loadView方法使用

    详解iOS App开发中UIViewController的loadView方法使用

    这篇文章主要介绍了详解iOS App开发中UIViewController的loadView方法使用,讲解了访问view属性时loadView方法的调用及使用loadView时的一些注意点,需要的朋友可以参考下
    2016-03-03
  • iOS UITextField 显示银行卡格式的方法

    iOS UITextField 显示银行卡格式的方法

    下面小编就为大家分享一篇iOS UITextField 显示银行卡格式的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • iOS高仿微信表情输入功能代码分享

    iOS高仿微信表情输入功能代码分享

    最近项目需求,要实现一个类似微信的的表情输入功能,今天小编抽空给大家分享iOS高仿微信表情输入功能代码,非常不错,感兴趣的朋友参考下吧
    2016-11-11
  • 详解IOS开发之实现App消息推送(最新)

    详解IOS开发之实现App消息推送(最新)

    这篇文章主要介绍了详解IOS开发之实现App消息推送(最新),具有一定的参考价值,有兴趣的可以了解一下。
    2016-12-12
  • iOS实现MJRefresh下拉刷新(上拉加载)使用详解

    iOS实现MJRefresh下拉刷新(上拉加载)使用详解

    本篇文章主要介绍了iOS实现MJRefresh下拉刷新(上拉加载)使用详解,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-01-01
  • 如何在IOS中使用IBeacon

    如何在IOS中使用IBeacon

    这篇文章主要介绍了如何在IOS中使用IBeacon,想了解IBeacon的同学,一定要看一下
    2021-04-04
  • iOS使用runtime修改文本框(TextField)的占位文字颜色

    iOS使用runtime修改文本框(TextField)的占位文字颜色

    相信大家都知道TextField默认的占位颜色也是深灰色,这个颜色比较难看清,这篇文章给大家介绍如何使用runtime修改TextField文本框的占位文字颜色,有需要的可以参考借鉴.
    2016-09-09
  • 讲解iOS开发中对音效和音乐播放的简单实现

    讲解iOS开发中对音效和音乐播放的简单实现

    这篇文章主要介绍了iOS开发中对音效和音乐播放的简单实现,代码基于传统的Objective-C,需要的朋友可以参考下
    2015-11-11
  • iOS11和iPhoneX适配的一些坑

    iOS11和iPhoneX适配的一些坑

    前阵子项目开发忙成狗,就一直没做iOS11的适配,直到XcodeGM版发布后,我胸有成竹的在iPhoneX上跑起项目,整个人都凉透了...下面总结一下我遇到的坑,感兴趣的朋友一起看看吧
    2017-09-09
  • iOS Label实现文字渐变色效果

    iOS Label实现文字渐变色效果

    文字渐变色可以使整体的效果更上一个档次,最近在开发中就遇到了这个需求,所以整理出来,下面这篇文章主要给大家介绍了关于iOS Label实现文字渐变色效果的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-05-05

最新评论