2

我正在使用 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)
    }
}

有没有办法解决这个问题以防止它崩溃?

4

1 回答 1

1

这是 iOS 13 的内部问题。现在它已在 iOS 13.1 中解决,请在 iOS 13.1中运行您的项目。它会正常工作。请检查 iOS 13 错误修复。

于 2019-10-18T06:24:08.930 回答