由于缺少iCloud权利,UIDocumentPickerViewController崩溃

时间:2015-02-17 03:53:03

标签: ios icloud

我在iOS应用中使用UIDocumentPickerViewController来允许用户打开外部文件。我已将相关的iCloud权利添加到我的应用包中,并且大多数时候一切都运行良好。

但是,有时文档选择器会崩溃,抱怨该应用程序缺少此iCloud权利。我已经通过实验发现,当发生这种情况时,[NSFileManager defaultManager].ubiquityIdentityToken的值通常为零,所以我通过检查ubiquityIdentityToken作为临时措施来保护我对文档选择器的调用。

任何人都可以了解这里可能发生的事情,以及我可以做些什么来避免这次崩溃?这似乎几乎完全不受我的控制。

2 个答案:

答案 0 :(得分:4)

我的应用程序也在发生 - 我只想使用文件提供程序功能,而不是专门支持iCloud Drive。

我无法阐明为什么它似乎与iCloud失去联系,但这不是“崩溃” - [[UIDocumentPickerViewController alloc] init___]抛出异常,你可以用try / catch块捕获。也就是说,我怀疑你的应用程序崩溃了“未捕获的异常” - 如果你发现它,你只能给出一条错误消息。

答案 1 :(得分:0)

这可能是由盗用应用的用户造成的。这可能会导致应用程序拥有无效的iCloud权利,从而使UIDocumentPickerViewController抛出异常。所以不是UIKit中的错误,它正在做正确的事情。

捕获异常可能会使应用程序崩溃,但我们可能不应该帮助盗版,是吗?