我正在使用 iOS 13 中引入的 VisionKit 框架进行文档捕获。它是捕获文档的绝佳框架。但是在这个框架中,导航栏上有两个按钮(重拍和完成)。当我单击这些应用程序时,由于以下原因而崩溃:-
由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“在 UIApplication 上调用 -statusBar 或 -statusBarWindow 的应用程序:必须更改此代码,因为不再有状态栏或状态栏窗口。在窗口场景中使用 statusBarManager 对象。
我试图通过将preferredStatusBarUpdateAnimation 返回为false 来做到这一点。但它没有解决。
这是代码片段:-
import UIKit
import VisionKit
class DetectDocumentViewController: UIViewController, VNDocumentCameraViewControllerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func tapMeAction(_ sender: UIButton) {
let vc = VNDocumentCameraViewController()
vc.delegate = self
present(vc, animated: true)
}
func documentCameraViewController(_ controller: VNDocumentCameraViewController, didFinishWith scan: VNDocumentCameraScan) {
print("Found \(scan.pageCount)")
for i in 0 ..< scan.pageCount {
let img = scan.imageOfPage(at: i)
print(img)
// ... your code here
}
controller.dismiss(animated: true, completion: nil)
}
func documentCameraViewControllerDidCancel(_ controller: VNDocumentCameraViewController) {
controller.dismiss(animated: true)
}
func documentCameraViewController(_ controller: VNDocumentCameraViewController, didFailWithError error: Error) {
print(error)
controller.dismiss(animated: true)
}
}
有没有办法解决这个问题以防止它崩溃?