gpt4 book ai didi

ios - 让 iPhone 在本地通知时振动

转载 作者:搜寻专家 更新时间:2023-11-01 06:20:09 24 4
gpt4 key购买 nike

我目前正在开发具有 VoIP 功能的应用程序。当有新电话打进来时,我会发出带有自定义声音的通知。如果手机处于振动状态,则默认振动一次。但是,我想让手机在整个自定义声音(30 秒)期间振动。有什么“内置”方式吗?或者当我收到我的 VoIP 推送时,我是否必须从我的 AppDelegate 主动触发振动?如果我从那里进行,我会遇到任何 AppStore 认证问题吗? (例如 Facebook Messenger 和微信提供了这种行为,因此必须有一种方法 :) )

提前致谢拉斐尔

最佳答案

有两个看似相似的函数都带有一个参数kSystemSoundID_Vibrate:

1) AudioServicesPlayAlertSound(kSystemSoundID_Vibrate);
2) AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);

Both of the functions vibrate the iPhone. But, when you use the first function on devices that don’t support vibration, it plays a beep sound. The second function, on the other hand, does nothing on unsupported devices. So if you are going to vibrate the device continuously, as an alert, common sense says, use function 2. First, add the AudioToolbox framework AudioToolbox.framework to your target in Build Phases.

然后,导入这个头文件:

#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] 停止计时器(当用户接听电话时)

关于ios - 让 iPhone 在本地通知时振动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35276351/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com