Загрузка пользовательского фреймворка xib в основную ошибку приложения - PullRequest
0 голосов
/ 11 февраля 2020

Я использую QKMRZScanner и добавил это в оболочку. Поэтому я создал UIView с именем scanner.xib и использую следующий метод в своей пользовательской среде для загрузки этой камеры. Xib

 func setup() {

        mrzScannerView = (Bundle.main.loadNibNamed(nibName, owner: nil, options: nil)![0] as! QKMRZScannerView)

           mrzScannerView.frame = bounds
        mrzScannerView.autoresizingMask = [.flexibleWidth, .flexibleHeight]

           self.addSubview(self.mrzScannerView)
    }

    public func captureMRZData(){
        setup()
        mrzScannerView.delegate = self
        mrzScannerView.startScanning()

    }

Я добавляю этот scanner.framework в другое приложение, а затем выполняю следующие вызовы * 1004. *

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        let t1 = scanner()
        t1.captureMRZData()
        // Do any additional setup after loading the view.
    }


}

но при запуске этого приложения я получаю это исключение

2020-02-11 08:37:55.091905+0530 cam[41011:838242] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle </private/var/containers/Bundle/Application/ED3C3AEF-DCD1-41EC-BE67-56C5655B5F8D/cam.app> (loaded)' with name 'scanner''
*** First throw call stack:
(0x1b318bab0 0x1b2ea5028 0x1b307b2fc 0x1b6efbb4c 0x1b6efc9e4 0x100955a98 0x100956388 0x100623678 0x100623760 0x1b6c29994 0x1b6c2e5c8 0x1b6c2e9b4 0x1b72a9c58 0x1b72a9354 0x1b72aa2f0 0x1b72bb4d4 0x1b74ab924 0x1b68729ac 0x1b726d370 0x1b726d700 0x1b6e08dec 0x1b8355ec0 0x1b837cb50 0x1b8360fa4 0x1b837c7e4 0x100adb27c 0x100ade9a4 0x1b83a3304 0x1b83a2fb0 0x1b83a351c 0x1b310724c 0x1b31071a0 0x1b310695c 0x1b31017d8 0x1b3101084 0x1bd34f534 0x1b7271670 0x10062479c 0x1b2f80e18)
libc++abi.dylib: terminating with uncaught exception of type NSException

Пожалуйста, помогите мне загрузить это

1 Ответ

1 голос
/ 27 марта 2020

Поскольку QKMRZScannerView.xib находится в пакете, который находится в scanner.framework.

Это не в mainbundle.

Вы должны изменить код Bundle.main на Bundle (для: QKMRZScannerView.self)

...