它涉及 UIDocument菜单ViewController 而不是 UIDocument Picker ViewController。前者已被弃用,取而代之的是后者,但旧设备上的操作系统仍在使用前者。
该问题仅在用户使用“取消”关闭文档选择弹出窗口时出现,而不是在他们实际选择文件时出现。
Apple 似乎已经修复了 iOS 12 中的所有这些错误,但有些错误仍然存在于 iOS 11 中。
像其他解决方案建议的那样,我在我的根视图控制器中覆盖了dismissViewControllerAnimated。当用户点击“照片库”或“浏览”以调出相应的视图控制器时,它会被调用一次。在这种情况下,我们将其中继到超类:
-(void)dismissViewControllerAnimated:(BOOL)flag completion:(void (^)(void))completion {
if ( self.presentedViewController) {
[super dismissViewControllerAnimated:flag completion:completion];
}
}
但是,当用户点击“取消”时,根本不会调用这个dismissViewControllerAnimated,但是文件选择视图控制器和我的呈现视图控制器都被取消了。所以我不确定是否可以在这里找到合适的解决方案。