以“自定义”方式使用振动

时间:2017-12-12 11:54:17

标签: ios iphone

我正在尝试编写一个使用振动作为通知的应用程序。一定量的振动意味着某种东西。

我已经设法巧妙地组合了一种方法,可以做出一系列短暂的震动。但是我在做X#振动时遇到了麻烦......

这是我的代码

- (void)goVibration {

    if(vCount > 1)

    {
          vCount--;
    AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
    [self delayCallback:^{

        AudioServicesRemoveSystemSoundCompletion(kSystemSoundID_Vibrate);

        [self goVibration];

    } forTotalSeconds:0.3];
    }
}
在调用函数之前,

vCount = 8。 在这种情况下,我只能振动3次。

如果我取出if(vCount> 1),则函数无限调用。有什么想法吗?

这是我的delayCallback

- (void) delayCallback: (void(^)(void))callback forTotalSeconds: (double)delayInSeconds{

    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
    dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
        if(callback){
            callback();
        }
    });
}

也许我可以使用Taptic Engine?

0 个答案:

没有答案