我想在手机设置中禁用触觉反馈时在我的应用程序中显示消息。如何检测设备设置中的触觉反馈?
答案 0 :(得分:0)
无法检查启用/禁用触觉反馈但是UIKit中有私有int _feedbackSupportLevel
用于检查设备是否支持它:
func logFeedbackSupported() {
let supportLevel = UIDevice.current.value(forKey: "_feedbackSupportLevel")
print(supportLevel ?? "")
}
0 :不可用, 1 :第一代可用(< iPhone 7), 2 :第二代可用。
我建议您不要使用Apples私有API,因为:
答案 1 :(得分:0)
这很糊涂,但这行得通吗?
- (BOOL)isHapticFeedbackDisabled {
BOOL result = NO;
UISelectionFeedbackGenerator *feedbackGenerator = [[UISelectionFeedbackGenerator alloc] init];
[feedbackGenerator prepare];
if ([feedbackGenerator.description containsString:@"prepared=0"]) result = YES;
feedbackGenerator = nil;
return result;
}