我们开发了这个iOS方案:
1)iOS App安排本地推送通知
2)推送是启动AVAudioPlayer音频播放的触发器 - 即使iPhone被锁定(应用程序在后台)
现在有两种情况:
a)推送计划之间的时差超过3小时: 解锁并启动应用程序后,音频确实开始播放
b)推送计划之间的时差小于3小时: 即使没有解锁,音频也会开始播放
我们希望案例b 作为默认案例。几小时后iOS会停止/冻结我们的应用程序吗?有趣的是:在印度设备上似乎没有例子 - 即使时差超过12小时。
有什么想法吗? 非常感谢!
答案 0 :(得分:0)
您是否整合了后台执行?否则,应用程序将在一段时间后暂停。
答案 1 :(得分:0)
在appdelegate中触发didReceiveLocalNotification方法,然后在appdelegate或全局触发一个方法然后使用下面的代码在后台或设备锁中使用AVAudioPlayer播放音频文件
NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:@“filename”
ofType:@“type”];
NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath];
player = [[AVAudioPlayer alloc] initWithContentsOfURL:soundFileURL
error:nil];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
[[AVAudioSession sharedInstance] setActive: YES error: nil];
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
player.numberOfLoops = -1; //Infinite
[player prepareToPlay];
[player play];