Apple 资源包含很多信息,但有一件事我无法清楚地理解有关音频和通知的阅读。
是否可以制作一个应用程序,在后台运行产生声音(即使手机被锁定和/或静音)并且当它发生时用户必须解决例如。方程式将其关闭?
ps 目前我主要使用 Cordova 框架,但 Obj-C 技巧也很好。
您可以更改 NSTimers 的本地通知(使用https://github.com/mruegenberg/MMPDeepSleepPreventer使它们在非活动模式下保持活动状态)并计算每个警报的时间间隔。这样,即使屏幕锁定并且声音关闭,您也可以播放音频,将其粘贴到您的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
:
// Let the sound run with the screen blocked
NSError *setCategoryErr = nil;
NSError *activationErr = nil;
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error:&setCategoryErr];
[[AVAudioSession sharedInstance] setActive:YES error:&activationErr];
但是你会遇到一些问题:
在 Apple,他们不希望竞争对手的闹钟应用程序出现,这是肯定的!您在 App Store 中看到的几乎所有闹钟应用程序都使用这种糟糕的方法。