Как определить, что на устройстве iOs отключена тактильная обратная связь?
Я хочу показать сообщение в моем приложении, когда тактильная обратная связь отключена в настройках телефона. Как определить, что тактильная обратная связь отключена в настройках устройства?
1 ответ
Это глупо, но может ли это сработать?
- (BOOL)isHapticFeedbackDisabled {
BOOL result = NO;
UISelectionFeedbackGenerator *feedbackGenerator = [[UISelectionFeedbackGenerator alloc] init];
[feedbackGenerator prepare];
if ([feedbackGenerator.description containsString:@"prepared=0"]) result = YES;
feedbackGenerator = nil;
return result;
}
Невозможно проверить, включена ли Haptic Feedback, но есть личный _feedbackSupportLevel
в UIKit для проверки, поддерживает ли устройство это:
func logFeedbackSupported() {
let supportLevel = UIDevice.current.value(forKey: "_feedbackSupportLevel")
print(supportLevel ?? "")
}
0: недоступно, 1: доступно первое поколение (
Я советую вам не использовать частные API Apple, потому что:
- API можно изменить в любой версии, не зная об этом.
- Apple анализирует код вашего приложения, чтобы выяснить, используете ли вы частный API, так что будьте внимательны. Ваше приложение может быть отклонено.