2017-11-05 7 views
9

ダウンロードしたビデオやオーディオをローカル通知として再生する目覚まし時計アプリケーションを作成しようとしています。 Androidの場合、これは実行可能ですが、IOSの場合、Appleには制限があることがわかります。カスタムアラーム通知IOSアプリケーションを実行し続ける

私はその上昇に気づいたし、ロッククロックは、フォアグラウンド(以下の例)でアプリを保つためにあなたを必要としています。私はマルチタスキングを無効にすることでこれを行うことを読みましたUIApplicationExitsOnSuspend

私はこれはまだのみ(最高?)のカスタム通知を表示する方法や、彼らは単に古いオペレーティングシステムをサポートしているし、より優れたユーザーエクスペリエンスを提供するIOSの変化があるかどうかであるかどうかを疑問に思って?

おかげ

enter image description here

答えて

5

はこれを行うにはそれほどの方法がありませんし、誰もが良いです。

  1. UILocalNotificationまたはUNNotificationRequestをスケジュールできます。これにより、あらかじめ定義されたサウンドでアラームを作成することができます。音の持続時間の制限やストリームを再生できないために役立たない。
  2. バックグラウンド構成のURLセッション。 documentationによると、リクエストをスケジュールすることができます。 iOS 11からのみ動作します。要求が実行される保証はありません。

  3. 使ったVoIPまたはサイレントプッシュ。この種類のプッシュは、デバイスで受信したときにバックグラウンドでアプリを起動する可能性があります。トリッキーな方法だが、仕事をすることができます。ユーザーにインターネット接続がない場合は役に立ちません。

  4. はフォアグラウンドでアプリをしてください。シンプルな方法と魅力のように動作します。デバイスのバッテリーが重すぎます。

UPD:すべての回答を1か所に集めてください(ありがとう@jba)。

「オーディオとAirplayの」背景カテゴリを使用する可能性もあります。デバイスがロックされているときは、「無音」を再生したり、オーディオを録音したりできます。これは非常にエネルギー消費可能な方法です、また、いくつかのOSのinteruptionsは、電話のように、オーディオ再生を停止することができます/レコードとアプリを中断することができます。

2

Appleはあなたにこれを達成するために多くの方法を与えることはありませんが、あなたが持っているいくつかはよく、非常に正確にdocumentedです。 あなたのアプリでは、 "Audio and Airplay"オプションを利用することをお勧めします。バックグラウンドでオーディオを再生したり録音したりすることができます。それであなたの苦労は、あなたがなぜこれをあなたのユーザーにするのかを説明する正しい方法を見つけることであり、そのためのメリットは何ですか...最後に、この機能により、アラームを発してから再生するまで、あなたのオーディオファイル。

関連する問題