componentsseparatedbystring

第三方应用调用系统文件应用并下载文件。

最近产品提出我们的IM产品可以打开iOS系统的文件app,可以选择app享的文件。并且可以保存到本地沙河,并可以从其他服务器上传同步结果。和社会分享一个类似的效果,分享的过程是发给某人的时候会提示你返回原来的app。那么在这里,从打开文件app开始,选择文件后我们会返回到自己的app。

这确实是一个共享文件的好方法。

# # #配置如下:1。证书文件配置在标识符下创建您的iCloud Containers配置,然后单击“+”创建它。

2:在标识符下,选择要添加icloud的boundid,并检查icloud的配置。

3.按如下方式打开项目中的配置

componentsseparatedbystring

4.可选配置在info.plist中增加以下两种配置:支持就地打开文档。

在应用程序支持itunes文件共享结果全部设置为“是”后,一个与您的项目同名的文件夹将出现在文件应用程序中。

5:打开文件app。

–(void)presentDocumentCloud { NSArray * document types = @[@”public . content “,@”public.text “,@”public.source-code “,@”public.image “,@ ” public .视听-content “,@”com.adobe.pdf “,@”com.apple.keynote.key “,@”com.microsoft.word.doc “,@”com.microsoft.excel.xls “,@ ” com . Microsoft . PowerPoint . PPT “];UIDocumentPickerViewController * documentPickerViewController =[[UIDocumentPickerViewController alloc]initWithDocumentTypes:documentTypes in mode:UIDocumentPickerModeOpen];documentpickerviewcontroller . delegate = self;[self present view controller:documentPickerViewController动画:是完成:无];}遵守代理如下

& ltUIDocumentPickerDelegate,UIDocumentInteractionControllerDelegate & gt;选择文件事件

# pragma mark-uidocumentpicker delegate-(void)document picker:(UIDocumentPickerViewController *)controller did pick documentaturl:(NSURL *)URL { NSArray * array =[[URL absolute string]components separated bystring:@ “/”;ns string * fileName =[array last object];fileName =[fileName stringByRemovingPercentEncoding];NSLog(@ “-& gt;& gt& gt& gt%@ “,文件名);if([icloudmanager icloudanable]){[icloudmanager downloadwithdocumenturl:URL callback:^(id obj){ ns data * data = obj;uialertview * alert =[[uialertviewalloc]init with title:@ ” I cloud “消息:@ “写给沙河” delegate: nil cancelbuttontile: @ “取消”其他按钮:@ “确定”,nil];[警报显示];//编写沙盒文档ns string * path =[nshomeditory()stringbbyappendingstring:[ns string string string with format:@ “/documents/% @ “,filename]];[数据写入文件:路径原子地:是];}];}}6:确定icloud是否可用。

+(BOOL)icloud enable { NSFileManager * manager =[NSFileManager default manager];NSURL * URL =[manager URLForUbiquityContainerIdentifier:nil];如果(网址!= nil) {返回YES} NSLog(@“I cloud不可用”);uialertview * alert =[[uialertviewalloc]init with title:@“I cloud”消息:@“I cloud不可用”delegate: nil cancelbuttontile: @“取消”其他按钮:@“确定”,nil];[警报显示];返回否;}至于配置开发者证书和配置文件,可以自己去查脑补。

更多iOS开发文章,可以关注微信微信官方账号(周舟Ge),预览最新最全的文章。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

发表回复

登录后才能评论