插件应使用后台线程(由于未捕获的异常"NSInvalidArgumentException"而终止应用程序)



我正在尝试在我的ionic应用程序中使用cordova keychain[plugin][1]for ios。但是面对这个错误

6:48 PM220-07-14 18:44:32.456726+0500 Farsh[1817:53270]螺纹警告:["Keychain"]占用了"14.635986"毫秒。插件应使用背景线程。2020-07-14 18:44:32.456767+0500 Farsh[1817:55597]-[NSNull boolValue]:无法识别的选择器发送到实例0x7fff8062d9d0 2020-07-14 18:44:32.614153+0500 Farsh[1817:55597]***由于未捕获的异常而终止应用"NSInvalidArgumentException",原因:"-[NSNull布尔值]:无法识别的选择器已发送到实例0x7fff8062d9d0'***第一次抛出调用堆栈:(0 CoreFoundation 0x00007fff23e3cf0e __exceptionPreprocess+350 1 libobjc.A.dlib 0x00007fff50ba89b2 objc_exception_show+48 2 CoreFoundation-[NSObject(NSObject(doesNotRecognizeSelector:]+132 3 CoreFoundation 0x00007fff23e4190c转发+1436 4 CoreFoundation0x00007fff23e43bf8 _CF_forwarding_prep_0+120 5 Farsh0x000000010e66aac0 __19-[CDVKeychain集:]_block_invoke+432 6libdispatch.dylib 0x000000010e9c7f11 _dispatch_call_block_and_release

  • 12 7 libdispatch.dylib 0x000000010e9c8e8e _dispatch_client_callout+8 8 libdispatch_dylib 0x00000010e9cb2d8_dispatch_queue_override_invoke+1022 9 libdispatch.dylib 0x000000010e9da399_dispatch_root_queue_drain+351 10libdispatch.dylib 0x000000010e9daca6 _dispatch_worker_thread2+135 11libsystem_pthread.dylib 0x00007fff51c089f7 _pthread_wqthread+220 12libsystem_pthread.dylib 0x00007fff51c07b77 start_wqthread+15(libc++abi.dylib:以类型为的未捕获异常终止NSException(lldb(

,之后我的应用程序崩溃。有人知道如何解决这个问题吗??请回答提前谢谢。[1] :https://ionicframework.com/docs/native/keychain

解决方案

我也遇到了同样的问题,问题是我没有显式地为useTouchId参数设置值。此错误自2018年以来一直为人所知,但仍未修复。向您展示离子作为一个生态系统有多好,以及人们有多关心😤更糟糕的是,即使是官方文档(!(也有一个错误的例子:

错了

this.keychain.set(key, value).then(() => { ... }

正确

this.keychain.set(key, value, false).then(() => { ... }

添加第三个参数应该可以解决您的问题。

最新更新