AppStoreからいくつかの目覚まし時計アプリをダウンロードしました。30秒以上も音を鳴らし続けたり、電話を振動させたりすることができます(UILocalNotificationsの制限)アプリケーションを強制的に閉じても機能します。
これはどうして可能だろうか?UILocalNotification以外のメソッドはありますか?彼らはいくつかの通知を使用していますか?
ありがとう!
AppStoreからいくつかの目覚まし時計アプリをダウンロードしました。30秒以上も音を鳴らし続けたり、電話を振動させたりすることができます(UILocalNotificationsの制限)アプリケーションを強制的に閉じても機能します。
これはどうして可能だろうか?UILocalNotification以外のメソッドはありますか?彼らはいくつかの通知を使用していますか?
ありがとう!
UILocalNotificationをスケジュールすると、OSが通知を制御し、スケジュールしたアプリケーションが閉じても通知を実行すると思います。
彼らはプッシュ通知を使用している可能性がありますが、それは外部サーバー、インターネットを必要とし、ありそうもないです。
より可能性が高いのは、UILocalNotificationsを使用しているだけであるということです。特定の時間にオフにするようにスケジュールすると、アプリが終了した場合でもその時間にオフになります。スケジュールが設定されると、OSはすべてのローカル通知を送信します。これがUILocalNotificationに関するAppleのドキュメントです。
編集:あなたのコメントに応えて、1つのローカル通知をスケジュールし、次に30秒後に2番目の通知をスケジュールするというように、もっともらしいです。そして私には、30秒の制限がある場合の唯一の方法のように思えます。
それらは、バックグラウンド対応のオーディオアプリ(アプリのplistでUIBackgroundModesを使用)であり、アラーム音や音楽をミックスするまで、バックグラウンドでもAudioQueuesまたはRemoteIOAudioUnitを使用して無音で再生できます。