私はiOSの開発に飛び込み、プラットフォームとSDKに慣れるために独自の目覚まし時計アプリを構築しています。私が現在学んでいるAPIの1つは、Local Notifications APIです。これは、AppleがClockアプリにアラームを実装するために使用するのと同じAPIであると思います。
私が理解していないのは、彼らが「スヌーズ」機能をどのように実装しているかです。私が理解しているように、ローカル通知を使用すると、アプリがフォアグラウンドで実行されていないときに最大2つのボタン、アラートを閉じるための1つのボタン、およびユーザーをアプリに誘導するための1つのボタンを持つアラートボックスをユーザーに提示できます。 。ただし、AppleのClockアプリでは、2つのボタンが付いたアラートボックスが表示されます。1つはアラームを閉じるボタン、もう1つは「スヌーズ」ボタンで、Clockアプリを起動せずにアラームを再スケジュールします。私の質問は...
ユーザーが「スヌーズ」ボタンをクリックしたとき、AppleはClockアプリを起動せずに、アラームのローカル通知をどのように再スケジュールしていると思いますか?2つのオプションしか許可しないローカル通知の制限を回避する独自のプライベートAPIを使用していると思いますか?または、ローカル通知を再スケジュールするためにClockアプリを起動していると思いますか?アプリの起動と終了が表示されないだけですか?
ドキュメントによると、ローカル通知の「alertAction」プロパティは、アラートボックスの右ボタンとロック画面のスライダーバーに表示されるテキストです。ただし、AppleのClockアプリでは、「Snooze」テキストはアラートボックスの左ボタンであり、Sliderバーのテキストでもありません。なぜこれが逆になっているのですか?
よろしくお願いします!