Я реализовал APNS для push-уведомлений. Я использую пользовательский звук для оповещения, которое будет воспроизводить 30 секунд звуковой файл сирены. это работает. во время воспроизведения этого звука я получаю только один раз вибрации продолжительностью 2 секунды. Мне нужна вибрация до 30 секунд. как я могу этого достичь.
это полезная нагрузка, которую я использую.
{"aps":{"alert":"alert message","badge":1,"sound":"SIREN.caf"}}
Я пытался реализовать код для вибрации до 30 секунд. это будет звонок на
didReceiveRemoteNotification
-(void)vibrateDevice{
AudioServicesPlaySystemSoundWithCompletion(kSystemSoundID_Vibrate, ^{
AudioServicesDisposeSystemSoundID(kSystemSoundID_Vibrate);
});
vibrateCount++;
if (vibrateCount<30) {
// [self performSelector:@selector(vibrateDevice) withObject:nil afterDelay:1.0];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), { NSTimer* t = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(vibrateDevice) userInfo:nil repeats:NO];
[[NSRunLoop currentRunLoop] addTimer:t forMode:NSDefaultRunLoopMode];
[[NSRunLoop currentRunLoop] run];
});
}
}
проблема в том, что я могу вибрировать только на переднем плане приложения. когда приложение
убит или в фоновом коде вибрации часть не работает.