5

私はiOSの開発に飛び込み、プラットフォームとSDKに慣れるために独自の目覚まし時計アプリを構築しています。私が現在学んでいるAPIの1つは、Local Notifications APIです。これは、AppleがClockアプリにアラームを実装するために使用するのと同じAPIであると思います。

私が理解していないのは、彼らが「スヌーズ」機能をどのように実装しているかです。私が理解しているように、ローカル通知を使用すると、アプリがフォアグラウンドで実行されていないときに最大2つのボタン、アラートを閉じるための1つのボタン、およびユーザーをアプリに誘導するための1つのボタンを持つアラートボックスをユーザーに提示できます。 。ただし、AppleのClockアプリでは、2つのボタンが付いたアラートボックスが表示されます。1つはアラームを閉じるボタン、もう1つは「スヌーズ」ボタンで、Clockアプリを起動せずにアラームを再スケジュールします。私の質問は...

  1. ユーザーが「スヌーズ」ボタンをクリックしたとき、AppleはClockアプリを起動せずに、アラームのローカル通知をどのように再スケジュールしていると思いますか?2つのオプションしか許可しないローカル通知の制限を回避する独自のプライベートAPIを使用していると思いますか?または、ローカル通知を再スケジュールするためにClockアプリを起動していると思いますか?アプリの起動と終了が表示されないだけですか?

  2. ドキュメントによると、ローカル通知の「alertAction」プロパティは、アラートボックスの右ボタンとロック画面のスライダーバーに表示されるテキストです。ただし、AppleのClockアプリでは、「Snooze」テキストはアラートボックスの左ボタンであり、Sliderバーのテキストでもありません。なぜこれが逆になっているのですか?

よろしくお願いします!

4

1 に答える 1

5

ローカル通知APIには、必要な処理を実行するメカニズムがありません。目覚まし時計アプリは、ほぼ確実にローカル通知にインフラストラクチャを使用していません。それはそれらよりも前のものです。ローカル通知によって提供されるインフラストラクチャの一部に考慮されている場合でも、パブリックAPIを使用していないことは確かです。

この機能の追加を要求するバグを報告する必要があります。

于 2010-08-10T00:17:23.707 に答える