它有點早問,但我打算專門爲FaceID添加功能,所以在此之前,我需要驗證任一設備是否支持FaceID? 需要建議和幫助。 在此先感謝。如何檢測設備是否支持FaceID?
1
A
回答
3
謝謝阿什利米爾斯,我創建了一個函數來檢測設備中的FaceID。
- (BOOL)canAuthenticateByFaceID {
LAContext *context = [[LAContext alloc] init];
if (context.biometryType == LABiometryTypeFaceID && @available(iOS 11.0, *)) {
return YES;
} else {
return NO;
}
}
希望這會對其他人有幫助。快樂編碼!
6
我發現你必須先調用canEvaluatePolicy才能正確獲取生物特徵類型。如果你不這樣做,你會一直得到0的原始價值。
所以像這樣的Swift 3中,測試和工作在Xcode 9.0 & beta 9.0.1。
class func canAuthenticateByFaceID() -> Bool {
//if iOS 11 doesn't exist then FaceID doesn't either
if #available(iOS 11.0, *) {
let context = LAContext.init()
var error: NSError?
if context.canEvaluatePolicy(LAPolicy.deviceOwnerAuthenticationWithBiometrics, error: &error) {
//As of 11.2 typeFaceID is now just faceID
if (context.biometryType == LABiometryType.typeFaceID) {
return true
}
}
}
return false
}
你當然可以寫只是爲了看看它或者生物識別並與布爾一起返回類型,但是這應該是綽綽有餘對於大多數人過的工作。
+1
我們發現此代碼適用於手機具有臉部ID且已註冊且正常。 但是,如果臉部ID未註冊,或者如果它通過識別太多不正確的臉部而「鎖定」,則此函數返回false(導致我們的代碼至少沿着觸摸ID的路徑不正確)。 有沒有人知道一種方法來檢測設備是否具有Face ID功能,無論它是否被註冊或鎖定? –
2
的Objective-C版本
- (BOOL) isFaceIdSupported{
if (@available(iOS 11.0, *)) {
LAContext *context = [[LAContext alloc] init];
if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:nil]){
return (context.biometryType == LABiometryTypeFaceID);
}
}
return NO;
}
相關問題
- 1. 檢測設備是否支持電話?
- 2. 檢測設備是否支持jQuery Mobile
- 3. 如何檢測iOS設備是否支持推送通知?
- 4. 如何檢測printf是否支持%a?
- 5. 如何檢測是否支持clipboard.js
- 6. 檢測是否支持SSL
- 7. Xamarin表單 - 如何檢測設備是否是觸摸設備?
- 8. Datapower設備XI52是否支持ActiveMQ?
- 9. JavaScript:檢測是否支持Symbol.toStringTag
- 10. 檢測瀏覽器是否支持jQueryMobile
- 11. 檢查iOS9設備是否支持3D觸摸並啓用
- 12. 如何檢查Android備份服務是否受支持?
- 13. 如何檢查特定語言是由設備支持的android
- 14. 如何檢測`focusin`支持?
- 15. Xamarin的iOS:檢測如果振動可用/支持的設備
- 16. 如何確定設備是否支持多任務處理?
- 17. 如何知道設備是否支持GL_OES_standard_derivatives?
- 18. 如何確定設備是否支持widevine classic?
- 19. 如何確定設備是否支持4G?
- 20. 如何知道設備是否支持自動對焦
- 21. 如何檢查Android設備是否支持SNEP或Android的Ndef Push協議?
- 22. 如何檢查設備是否支持應用內結算v3 android
- 23. 如何檢查PHP是否支持multi_curl?
- 24. 如何檢查curl是否支持ssl?
- 25. 檢測設備是否鎖定
- 26. 如何檢測圖形界面是否受支持?
- 27. 如何檢測瀏覽器是否支持js onscroll ..立即
- 28. 如何檢測openGL /卡是否支持2的非功率?
- 29. 如何檢測CPU是否支持英特爾防盜技術?
- 30. 如何檢測是否支持HTML5輸入控件?
你有耐心閱讀蘋果文檔? https://developer.apple.com/documentation/localauthentication/labiometrytype –
我在Google上搜索並搜索了Stackoverflow,但沒有找到正確的答案,所以在閱讀Apple文檔併發布答案後,我希望這會幫助其他人來到這裏(當他們的時間短的時候找到快速解決方案:)。 https://stackoverflow.com/a/46402895/671060 – Aleem