小编use*_*349的帖子

iOS8:扩展存储提供程序(导入,导出,移动)不起作用

我正在开发我的存储提供程序并使用Apple的"NewBox"(它的链接已过期)示例代码作为主机应用程序.理想情况下,我希望看到我可以将文件从存储提供程序导入(复制)到NewBox的沙箱或导出/移动文件到其他应用程序.

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

UIDocumentMenuViewController *vc = [[UIDocumentMenuViewController alloc] initWithDocumentTypes:@[(NSString *)kUTTypeRTF,(NSString *)kUTTypePNG,(NSString *)kUTTypeText,(NSString *)kUTTypePlainText,(NSString *)kUTTypePDF, (NSString *)kUTTypeImage] inMode:UIDocumentPickerModeImport];
Run Code Online (Sandbox Code Playgroud)



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

- (void)pickDocument:(NSURL *)documentURL {
    [self dismissGrantingAccessToURL:documentURL];
}
Run Code Online (Sandbox Code Playgroud)


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

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

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

谢谢!

ios ios8 ios-app-extension

5
推荐指数
1
解决办法
2360
查看次数

标签 统计

ios ×1

ios-app-extension ×1

ios8 ×1