存储提供商:自beta4以来无法列出导出/移动模式的文件选择器

时间:2014-07-30 08:58:14

标签: ios ios8 ios-app-extension

升级到 iOS8 beta 4 后,当我想预设 UIDocumentPickerViewController 来选择iCloud等文档选择器时,它总是显示" 没有位置可用"并要求我启用Document& iCloud Drive的数据。

导入和打开仍然可以正常工作。我可以在菜单中看到所有文件选择器包括iCloud和我自己的选择器。我很确定我已经启用了iCloud Drive并允许使用Document& amp;一般数据> iCloud设置。

奇怪的是,这个问题不会发生在模拟器上,而只会发生在设备上。在beta4之前,我从未在模拟器和设备上看到过这种情况。

我已在主机应用和我的文档选择器/存储提供商应用上检查了iCloud的代码符号,但它没有任何帮助。它不会抛出任何错误或警告消息。关于这个案子我没有进一步的线索。

我使用NewBox作为主机应用程序,由Apple WWDC2014提供:https://developer.apple.com/wwdc/resources/sample-code/

我几天前也在Apple开发论坛发布了此问题,但没有得到回复。谁也有同样的问题?非常感谢。

快照:http://i.imgur.com/s0rxPEV.png

1 个答案:

答案 0 :(得分:2)

是的,我也注意到了同样的行为,并找到了解决办法。

对于NewBox应用程序,问题似乎与使用相关特定文件共享权限有关,即应用程序包中的TestUIDocument_0.txt。

Jul 31 09:54:36 iPad kernel[0] <Notice>: Sandbox: NewBox(158) deny file-issue-extension /private/var/mobile/Containers/Bundle/Application/<GUID>/NewBox.app/TestUIDocument_0.txt
Jul 31 09:54:36 iPad kernel[0] <Notice>: Sandbox: com.apple.UIKit.(161) deny file-read-metadata /private/var/mobile/Containers/Bundle/Application/<GUID>/NewBox.app/TestUIDocument_0.txt

我通过将文件复制到文档目录中并将self.documentURL设置为该位置来解决问题。

不知道这是一个功能还是一个错误 - 对于移动选项,我可以看到应用程序包中的文件无法移动,因此禁止从应用程序包中移动是有意义的。

但是根据我的理解,导出只是一个复制操作,所以不知道为什么在应用程序包中不允许这样做,而是来自文档目录。