在传言了很长时间之后,苹果公司宣布新款iPhone 5s将配备生物识别指纹传感器(Touch ID)。
苹果公司是否已经发布了该传感器的API/SDK?如果是,能否提供一个例子?
在传言了很长时间之后,苹果公司宣布新款iPhone 5s将配备生物识别指纹传感器(Touch ID)。
苹果公司是否已经发布了该传感器的API/SDK?如果是,能否提供一个例子?
iOS 8及以上版本已不再适用本回答中的旧方法。苹果公司推出了本地认证框架,您可以在应用程序中利用Touch ID功能。
引用+示例代码 (本地认证框架参考)
本地认证框架提供了向用户请求特定安全策略认证的功能。例如,要求用户使用Touch ID进行认证,您可以使用以下代码:
LAContext *myContext = [[LAContext alloc] init];
NSError *authError = nil;
NSString *myLocalizedReasonString = <#String explaining why app needs authentication#>;
if ([myContext canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&authError]) {
[myContext evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics
localizedReason:myLocalizedReasonString
reply:^(BOOL succes, NSError *error) {
if (success) {
// User authenticated successfully, take appropriate action
} else {
// User did not authenticate successfully, look at error and take appropriate action
}
}];
} else {
// Could not evaluate policy; look at authError and present an appropriate message to user
}
来自2013年9月10日的主题演讲,大约在演讲的第61分钟:
所有指纹信息都加密并存储在我们的新A7芯片内的安全隔离区中。在这里,它被锁定在其他一切之外,只能由Touch ID传感器访问。它从未提供给其他软件,也从未存储在苹果的服务器上或备份到iCloud。
目前为止,这就是所有可用的信息。话虽如此,这只是猜测,但我认为很可能不会有API可供使用。 如果有什么用途,使用传感器只能通过与钥匙串进行交互来完成,使操作系统可以与传感器进行交互,同时保持您的应用程序分开在其舒适的小沙盒中。
“iOS 8还包括Touch ID™ API,使开发人员能够在应用程序中安全地验证用户、保护登录和用户数据,并解锁钥匙串项。使用iOS 8,开发人员可以通过成功的指纹匹配提供身份验证,同时在安全区域中保护您的指纹数据。”
对于开发人员,这里有一个WWDC视频链接。 - LOP_Luke