HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了iOS8:扩展存储提供程序(导入,导出,移动)不起作用大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发我的存储提供程序并使用Apple的“NewBox”(它的链接已过期)示例代码作为主机应用程序.理想情况下,我希望看到我可以将文件从存储提供程序导入(复制)到NewBox的沙箱或导出/移动文件到其他应用程序.

在NewBox主机应用程序中,当我想导入文件时,我使用:

UIDocumentMenuViewController *vc = [[UIDocumentMenuViewController alloc] initWithDocumentTypes:@[(NSString *)kUTTypeRTF,(NSString *)kUTTypePNG,(NSString *)kUTTypeText,(NSString *)kUTTypePlai@R_874_10443@t,(NSString *)kUTTypePDF,(NSString *)kUTTypeImage] inMode:UIDocumentPickerModeImport];

一旦我拿起一个文件,在我的UIDocumentPickerExtensionViewController中,我调用

- (void)pickDocument:(NSURL *)documentURL {
    [self dismissGranTingAccessToURL:documentURL];
}

调用dismissGranTingAccessToURL之后,选择器的视图将被解除并返回到主机应用程序,并且将调用主机应用程序的didPickDocumentAtURl.

但是,“didPickDocumentAtURL”会收到我选择的原始文件的URL,而不是系统复制到NewBox沙箱的新URl.这对出口和搬迁的情况也很熟悉.我是否误解了导入/导出/移动?我认为这个关于复制到主机应用程序的沙箱等文件的操作是由系统完成的,主机应用程序将获取要访问的文件的新URl.

我试过iOS8 beta4,这个问题依然存在.

谢谢!

解决方法

您从documentPicker获取的URL:didPickDocumentAtURL:取决于操作:

>导入/导出:/ data / Containers / Data / Application / $(AppIDOfAppPresenTingUIDocumentPickerViewController)/tmp/DocumentPickerIncoming/File.txt
>打开/移动:
/ data / Containers / Shared / AppGroup / $(ExtensionAppGroupID)/ File Provider Storage / File.txt

其中“File.txt”可以是任何文件名或文件路径.

在导入的情况下,呈现选择器的应用程序负责将给定URL处的文件移动到永久位置.在打开或移动的情况下,应用程序应该保存URL以供将来使用(始终在文件协调器中使用它).如果是导出,通常会忽略该URl.

NewBox项目可以从Apple的网站https://developer.apple.com/devcenter/download.action?path=/wwdc_2014/wwdc_2014_sample_code/newboxanintroductiontoiclouddocumentenhancementsinios8.0.zip下载

大佬总结

以上是大佬教程为你收集整理的iOS8:扩展存储提供程序(导入,导出,移动)不起作用全部内容,希望文章能够帮你解决iOS8:扩展存储提供程序(导入,导出,移动)不起作用所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。