使用 xcode 12.4 构建时,Face ID 从 testflight 失败但不在本地

问题描述

FaceID 允许存储凭据但不允许检索。我在通过 xcode 控制台检查时看到了这个错误。如果我在本地从 xcode 运行相同的代码,一切正常。

返回错误域=com.apple.LocalAuthentication Code=-1004“呼叫者未在前台运行。”

如果我从 testflight 安装不同的版本,然后重新安装原来损坏的版本,它会再次开始工作,这会让它变得更加奇怪。

解决方法

我们在我们的应用中也遇到了这个错误,但事实证明,这是由于在一台设备上有多个具有相同产品名称的应用造成的。

在我们的例子中,这意味着我们不会在我们的实时应用程序中使用它,但它会出现在我们测试人员的设备上。

,

这个错误总是以 -1004 出现,所以我在错误处理块中添加了一个检查,如下所示:

...
if let error = authError as? LAError {
    if (error.code.rawValue == -1004) { //bizarre facial recognition error
        completion(true,//do some code..)
    }
    completion(false,error)
}...

适用于我的生产应用