Я знаю, что Touch ID на iPhone 5S не может быть использован никакими другими приложениями через SDK, но я хотел посмотреть, возможно ли приложение, по крайней мере, увидеть, На устройстве включен сенсорный идентификатор. Это может служить дополнительным фактором безопасности для приложения, чтобы узнать, включен ли сенсорный идентификатор на iPhone 5S. Я знаю, что продукты MDM могут это сделать, есть ли специальный API, который нужно использовать приложением для определения этой информации?Посмотрите, включен ли сенсорный ID на iPhone 5s
ответ
В документации разработчика ничего не говорится о обнаружении сенсорного идентификатора на устройстве. Там определенно есть частный API, который может предоставить вам эту информацию, но использование этого было бы основанием для того, чтобы Apple не одобряла ваше приложение.
С TouchID только появился в iPhone 5s, вы можете использовать следующий код, чтобы определить аппаратную модель:
- (NSString *) checkiPhone5s {
// Gets a string with the device model
size_t size;
sysctlbyname("hw.machine", NULL, &size, NULL, 0);
char *machine = malloc(size);
sysctlbyname("hw.machine", machine, &size, NULL, 0);
NSString *platform = [NSString stringWithCString:machine encoding:NSUTF8StringEncoding];
free(machine);
if ([platform isEqualToString:@"iPhone6,1"]) {
// it is iPhone 5s !!!
}
}
Обратите внимание, что iPhone 5s может иметь новую модель, так что строка платформа может быть «iPhone6, 2 "," iPhone6,3 "в будущем.
В качестве альтернативы класс UIDeviceHardware может предоставить полезную информацию, если этот класс обновлен для iPhone 5s. В настоящее время он показывает «Неизвестный iPhone» для iPhone 5.
Метод, который вы ищете, это LAContext
's canEvaluatePolicy:error:
. Он вернет НЕТ в следующих случаях:
- Сенсорный идентификатор на устройстве отсутствует.
- На устройстве не установлен код доступа.
- Touch ID не имеет зарегистрированных пальцев.
Больше информации здесь: Local Authentication Framework Reference
- (BOOL) isTouchIDAvailable {
LAContext *myContext = [[LAContext alloc] init];
NSError *authError = nil;
if (![myContext canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&authError]) {
NSLog(@"%@", [authError localizedDescription]);
return NO;
}
return YES;
}
Я проверить это ниже этапов.
< IOS 8.0:
self.touchIdAvailable = NO;
Затем проверьте, если устройство touchId доступно.
- (BOOL)canEvaluatePolicy:(LAPolicy)policy error:(NSError **)error if ("canEvaluatePolicy return YES"):{ self.touchIdAvailable = YES; self.osTouchIdStatus = TouchIdSetOK; }
проверить, почему это устройство не touchID включить в блоке ошибок
case LAErrorPasscodeNotSet: case LAErrorTouchIDNotEnrolled: self.touchIdAvailable = YES; self.osTouchIdStatus = TouchIdNotSet; break; default: self.touchIdAvailable = NO; self.osTouchIdStatus = TouchIdNotSupported; break;
- 1. AVCaptureMovieFileOutput авария на iPhone 5S
- 2. Изменить размер UITableView на iPhone 5/5s
- 3. method_getImplementation падает на 64-битных iPhone 5s
- 4. Проверить на iPhone 4 и 5s - iOS
- 5. Программно проверить, включен ли GPS на iPhone
- 6. Приложение не установлено на iPhone 5s
- 7. TouchID аварии на некоторых устройствах iPhone 5S
- 8. iOS8 сенсорный ID & Passcode
- 9. Серьезная ошибка SpriteKit UIColor на iPhone 5S
- 10. Enterprise Application Не устанавливается на iPhone 5s
- 11. Сила отменить сенсорный iphone
- 12. UIButton не отображается на iPhone 5S
- 13. Ошибка приложения на iPhone 5S, но не на iPhone 4S.
- 14. Параметры калибровки камеры iPhone 5s
- 15. File.Create не работает на iPhone 5S
- 16. Невозможно загрузить приложение iOS на iPhone 5s
- 17. UIImagePickerController увольнение не работает на iPhone 5S
- 18. AVAudioRecorder не работает на iPhone 5S
- 19. UIPanGestureRecognizer неточен на iPhone 5s + iOS 7
- 20. Сенсорный ID в главной очереди
- 21. Веб-страница Safari Iphone 5S zoom issue
- 22. iPhone 5s SpriteKit рисунок странности
- 23. Если устройство поддерживает сенсорный ID
- 24. Highcharts 4.0 iPhone/Сенсорный скроллинг
- 25. Игрок прыгает выше на iPhone 6, чем iPhone 5s
- 26. iOS - приложение работает на iPhone 5s, но не iPhone SE
- 27. Приложение для iPhone, не работающее на iPhone 5s iOS 9.2
- 28. PhoneGap/Кордова Id сенсорный Plugin
- 29. Как определить сенсорный/нажми на экране iPhone
- 30. Обнаружение круговой сенсорный iphone SDK
Эта локальная база аутентификации доступна IOS 8 года SDk. – Raghav