美文网首页
自己的APP调用第三方打开文件,第三方APP调用自己的APP,打

自己的APP调用第三方打开文件,第三方APP调用自己的APP,打

作者: MacleChen | 来源:发表于2017-05-09 17:48 被阅读291次

    1.自己的APP调用第三方打开文件

    主要是使用  UIDocumentInteractionController  类   并实现 UIDocumentInteractionControllerDelegate 的代理方法

    \@interfaceHNDownFileViewController ()

    @property (nonatomic, strong) UIDocumentInteractionController*documentInteractionController;@end- (void)viewDidLoad {

    [super viewDidLoad];//url 为需要调用第三方打开的文件地址NSURL *url = [NSURL fileURLWithPath:_dict[@"path"]];

    _documentInteractionController=[UIDocumentInteractionController

    interactionControllerWithURL:url];

    [_documentInteractionController setDelegate:self];

    [_documentInteractionController presentOpenInMenuFromRect:CGRectZero inView:self.view animated:YES];

    }

    \需要在真机上调试,例子中打开的是  doc文件,如果手机上装了WPS或者office套件,就能调用这些应用打开。

    2.第三方APP调用自己的APP,打开文件

    在info.plist中添加如下代码

    123CFBundleTypeName4com.myapp.common-data5LSItemContentTypes67com.microsoft.powerpoint.ppt8public.item9com.microsoft.word.doc10com.adobe.pdf11com.microsoft.excel.xls12public.image13public.content14public.composite-content15public.archive16public.audio17public.movie18public.text19public.data202122

    这在系统中添加了参数,如果有以上类型的文件,第三方应用可以调用我们的APP进行操作。

    在第三方调用我们的APP后,会调用如下方法

    1- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(nullable NSString *)sourceApplication annotation:(id)annotation2{3if(self.window) {4if(url) {5NSString *fileNameStr =[url lastPathComponent];6NSString *Doc = [[NSHomeDirectory() stringByAppendingPathComponent:@"Documents/localFile"] stringByAppendingPathComponent:fileNameStr];7NSData *data =[NSData dataWithContentsOfURL:url];8[data writeToFile:Doc atomically:YES];9[XCHUDTool showOKHud:@"文件已存到本地文件夹内"delay:2.0f];10}11}12returnYES;13}

    url 就是第三方应用调用时文件的沙盒地址,

    @"Documents/localFile" 表示本地文件夹目录

    sourceApplication 是调用我们APP的第三方应用是谁

    我们把url传到我们需要用的界面

    可以使用路径查看保存到本地的文件

    相关文章

      网友评论

          本文标题:自己的APP调用第三方打开文件,第三方APP调用自己的APP,打

          本文链接:https://www.haomeiwen.com/subject/nuditxtx.html