目前只有iPhone支持振动如何在调用振动函数之前检查我的设备是否支持振动。
发布于 2011-06-04 02:08:57
iOS软件开发工具包有两个可以震动iPhone的功能。但是振动硬件只存在于iPhones上。那么,你将如何提醒在iPad或iPod touches上使用该应用程序的用户?显然,检查模型不是可行的方法。有两个看似相似的函数,它们都接受参数kSystemSoundID_Vibrate
AudioServicesPlayAlertSound(kSystemSoundID_Vibrate);
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);这两个功能都会震动iPhone。但当你在不支持振动的设备上使用第一个函数时,它会播放嘟嘟声。另一方面,第二个函数在不支持的设备上不执行任何操作。
发布于 2012-12-13 12:24:57
有点变通,但我发现这是可行的。它是基于这样的假设,即目前只有iPhone设备中有振动硬件。
if([[UIDevice currentDevice].model isEqualToString:@"iPhone"])
{
// An iPhone: so should have vibrate
}
else
{
// Not an iPhone: so doesn't have vibrate
}发布于 2013-09-08 15:06:50
不幸的是,没有记录下来的方法来测试设备是否支持振动。来自文档:
在某些iOS设备上,您可以传递kSystemSoundID_Vibrate常量来调用振动。在其他iOS设备上,使用该常量调用此函数不会执行任何操作。
看起来这里的正确方法应该是简单地调用Saurabh提到的方法,而不检查是否支持振动。
https://stackoverflow.com/questions/6230942
复制相似问题