[英]Make iPhone vibrate on Local Notification
我目前正在开发具有VoIP功能的应用程序。 接到新电话时,我会发出自定义声音的通知。 如果手机处于震动状态,则默认情况下会震动一次。 但是,我想让手机在整个自定义声音(30秒)内振动。 有什么“内置”方式吗? 还是在收到VoIP Push时必须主动触发AppDelegate的振动? 如果从那里开始,我是否会遇到任何AppStore认证问题? (例如,Facebook Messenger和微信提供了此行为,因此必须有一种方法:))
在此先感谢拉斐尔
有两个看似相似的函数带有参数kSystemSoundID_Vibrate:
1) AudioServicesPlayAlertSound(kSystemSoundID_Vibrate);
2) AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
这两个功能都使iPhone震动。 但是,当您在不支持振动的设备上使用第一个功能时,它会发出蜂鸣声。 另一方面,第二个功能在不受支持的设备上不起作用。 因此,如果要连续振动设备,如常识所述,请使用功能2作为警报。首先,在构建阶段中将AudioToolbox框架AudioToolbox.framework添加到目标中。
然后,导入此头文件:
#import <AudioToolbox/AudioServices.h>
另外,如果您想每5秒振动一次(或其他任何时间),则可以执行此操作。
ViewController.h
NSTimer *timer //declare this globally (in header file)
ViewController.m
timer = [NSTimer scheduledTimerWithTimeInterval:YOURINTERVAL target:self selector:@selector(YOURSELECTOR) userInfo:nil repeats:YES];
-(void)YOURSELECTOR{
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
}
您可以通过调用[timer invalidate]
来停止计时器(当用户接听电话时)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.