应用程序扩展名键盘内的LAContext Touch ID

时间:2016-02-29 09:50:15

标签: ios ios-app-extension touch-id

我正在尝试添加touchid来解锁自定义键盘扩展程序的密码保护部分。

当我将此代码添加到用于自定义键盘扩展的UIInputViewController时,它会生成运行时错误

let authContext = LAContext()

错误是:

  

2015-09-01 22:18:50.524 AS_Custom_KB [21508:2656253]插件   com.example.AS-Custom-KB.AS-Custom-KeyBoard中断2015-09-01   22:18:50.545 AS_Custom_KB [21508:2656253]插件   com.example.AS-Custom-KB.AS-Custom-KeyBoard无效2015-09-01   22:18:51.635 AS_Custom_KB [21508:2656082]   viewServiceDidTerminateWithError ::错误   Domain = _UIViewServiceInterfaceErrorDomain Code = 3“操作   无法完成。 (_UIViewServiceInterfaceErrorDomain错误3.)“   UserInfo = 0x174273f80 {Message = Service Connection Interrupted}

相同的代码在模拟器上工作正常,但由于模拟器不支持TouchID,因此无法执行任何操作。该代码也适用于常规应用程序(而不是自定义键盘扩展)。

我尝试查看LAContext文档,但没有找到任何关于它可能导致此类错误的原因,或者任何有关无法从扩展程序中使用它的信息。

有关为何可能发生这种情况的任何想法,或者如何通过自定义键盘扩展程序实现此功能?有没有人能够通过自定义键盘扩展程序进行触摸工作?

1 个答案:

答案 0 :(得分:2)

经过24小时的R& D我找到了自己的答案,我发现答案非常简单和设置

RequestsOpenAccess

中设置NSExtensionAttributes