2012-03-30 11 views
0

UILocalNotificationsに関する多くのスレッドとチュートリアルを読みましたが、私は 'close'ボタンについて混乱しています。たとえば、この1つはたくさんにリンクされています:HEREUILocalNotificationで 'close'について混乱しました

5秒ごとに(テストとして)UILocalNotificationを設定し、「閉じる」ボタンをタップすると通知が停止します。私が読んだことのすべては、起こるはずがないと言った。彼らは、ユーザーがアプリを開いて何か(何が必要なのか)をするまで、通知は続くと言います。

(アプリが開かれ、私はそれを得ることができないようになるまで私が欲しいの行動が通知される)

何が起こっているの? これとiOSのバージョン固有の動作ですか?

+0

あなたは間違っている必要があります。 5秒ごとに繰り返される 'UILocalNotification'をスケジュールすることはできません**。毎秒** 1秒、毎分、毎時、毎日、毎週など繰り返すことができます。しかし** ** 5秒ごとにではありません。 – yuji

+0

@yujiはい、私は通知の仕組みを誤解していたと思います。私は「発砲」は一点ではなく間隔であるという印象を受けました。私は基本的に、NScalendar定数に収まるように計算された複数の通知を作成しなければならないと主張しています。ありがとう。 – wayneh

答えて

1

ローカル通知を最大64個スケジュールできます。 増加するNSTimeIntervalを使用して5秒ごとに通知をスケジュールできなかった理由はありません。 しかし、アプリが開くと直ちにすべてのローカル通知がキャンセルされることを確認する必要があります。さもなければ、あなたが予定している残りの通知はまだ発射されるでしょう。

上記の声明では、クローズアクションを間違って理解していると思います。これは、アラームのスヌーズボタンのようには動作しません。地元の通知は、却下された場合でも1回だけ発射されます。

唯一の方法は、上記のように複数の、似たような通知をスケジュールすること、または繰り返し間隔を追加することです。リピート間隔はカスタマイズはできませんが、ニーズに合わない場合があります。

+0

はい、通知の仕組みを誤解していると思います。私は「発砲」は一点ではなく間隔であるという印象を受けました。私は基本的に、NScalendar定数に収まるように計算された複数の通知を作成しなければならないと主張しています。ありがとう。 – wayneh

+0

うれしかったです。私のオープンソースプロジェクトのコードの中には、スケジューリングに使うものがあります。 https://github.com/Burnsoft/Settings-Swipe –

1

通知を5秒ごとに繰り返すようにスケジュールすることはできません。 repeatIntervalUILocalNotificationのタイプはNSCalendarUnitであり、値はhereであり、5秒間の「単位」はありません。

NSCalendarUnitNSUIntegerにtypedefされているのでrepeatIntervalに整数を割り当てたとき(あなたが経験しているように)、あなたはしかし、あなたが期待した結果が表示されません、コンパイラエラーを取得することはできません。

関連する問題