目前只有iPhone支持振动如何在调用振动功能之前检查我的设备是否支持振动。
答案 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提到的方法而不检查是否支持振动。