我正在尝试实现新的iOS 11 DeviceCheck API (https://developer.apple.com/documentation/devicecheck),但是令牌生成总是失败的。我试过在模拟器和iPhone SE上使用wifi和移动数据。设置中的Apple是我正常的、非沙箱帐户.
这是一个组织的现有应用程序--从文档中听起来,唯一的配置要求是确保app在苹果开发者门户中设置。
还有谁有这个问题吗?
确切的错误信息是:
手术无法完成。(com.apple.devicecheck.error错误0.)
这是我用的代码,没什么特别的。
if #available(iOS 11.0, *) {
let device = DCDevice.current
if (device.isSupported) {
device.generateToken(completionHandler: { (data, error) in
if let token = data{
print("token: \(token)")
}else if let error = error{
print("error: \(error.localizedDescription)")
}
})
} else {
print("devicecheck not supported")
}
}
发布于 2018-04-24 17:47:42
在我的例子中,这个错误是由我的iPhone的时间不同步造成的。我手动将设备的时间更改为实际的当前时间(设置→通用→日期和时间)。在那之后,错误消失了,我能够生成令牌。
发布于 2018-05-21 08:40:56
在我看来你的代码很好。问题是模拟器。它不会通过device.isSupported的。你需要在真正的设备上运行它。
https://stackoverflow.com/questions/49078226
复制相似问题