如何检查iOS设备是否可以振动

时间:2011-06-03 18:07:28

标签: iphone ios vibrate

目前只有iPhone支持振动如何在调用振动功能之前检查我的设备是否支持振动。

3 个答案:

答案 0 :(得分:10)

iOS sdk有两个可以激活iPhone的功能。但振动硬件仅存在于iPhone上。那么您如何提醒在iPad或iPod touch上使用该应用的用户?显然,检查模型不是可行的方法。有两个看似相似的函数采用参数kSystemSoundID_Vibrate

AudioServicesPlayAlertSound(kSystemSoundID_Vibrate);
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);

这两个功能都会激活iPhone。但是当您在不支持振动的设备上使用第一个功能时,它会发出哔声。另一方面,第二个功能对不支持的设备没有任何作用。

答案 1 :(得分:4)

一些解决方法,但我发现这个工作。它基于这样的假设,即目前只有iPhone设备具有振动硬件。

if([[UIDevice currentDevice].model isEqualToString:@"iPhone"])
{
    // An iPhone: so should have vibrate
}
else
{
    // Not an iPhone: so doesn't have vibrate
}

答案 2 :(得分:1)

不幸的是,没有文件记录的方法来测试设备是否支持振动。来自文档:

  
    

在某些iOS设备上,您可以传递kSystemSoundID_Vibrate常量来调用振动。在其他iOS设备上,使用该常量调用此函数不会执行任何操作。

  

这里看起来正确的方法是简单地调用Saurabh提到的方法而不检查是否支持振动。