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

Face ID failing from testflight but not locally when building with xcode 12.4

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

返回的错误域=com.apple.LocalAuthentication代码=-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)
}...

适用于我的生产应用程序

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

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