Apple のリソースには多くの情報が含まれていますが、音声と通知について読んでもはっきりと理解できないことが 1 つあります。
バックグラウンドで実行されているアプリを作成して(電話がロックされている場合や消音されている場合でも)音を出すことは可能ですか?それをオフにする方程式?
ps 今のところ、私は主に Cordova フレームワークを使用していますが、Obj-C のヒントもいいでしょう。
はい、可能です。これにはUILocalNotificationを使用できます。
また、アップルは、バックグラウンドで音楽を再生しているアプリを許可しています。
バックグラウンド タスク機能については、次のリンクを確認してください。
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 で目にする目覚まし時計アプリのほとんどすべてが、このお粗末なアプローチを使用しています。