0
0

【Swift】ローカル通知の最大登録数は64が限界なのか調べた

Last updated at Posted at 2024-06-01

きっかけは5年前のこの記事
【Swift5】ローカル通知(UNUserNotificationCenter)の最大登録数について
記事の内容は「実験の末、ローカル通知の登録数は64が限界」だという結論だった。

ただ、私には以下の疑問が。

  • iPhoneの機種によって変わるのでは?
  • iOSのバージョンによって変わるのでは?

他の「最大数が64」と書かれている日本の記事を見ても根拠がない。なので調べてみることにした。

結論

公式ドキュメントに最大登録数が64という記載がありました。また、実験的にも2024/5/31時点では64個が限界でした。
UILocalNotification(公式ドキュメント)

passcheck2.png

アプリは、限られた数のスケジュール通知しか持つことができません。システムは、(自動的に再スケジュールされた通知が1つの通知としてカウントされる)最新の64個の通知を保持し、残りを破棄します。

UILocalNotificationUNNotificationRequestの前身?(著者はよくわかってない)ぽいです。
UNUserNotificationCenterUNNotificationRequestの公式ドキュメントページを見ても最大登録数が64という記載はないですが、前身が言ってるんだから本当っぽいですね。

また、調べた感じiOS9(2015年)から現在に至るまで、最大数は64です。なので、これからも最大登録数64が変わるのは期待しない方が良いと思います。
参考:Is there still a ~64 local notification limit for the new UserNotifications in iOS 10?

最大登録数64を超える方法

海外では最大登録数を超える方法が議論されていました。
参考1:How to overcome Local Notifications limits
参考2:LocalNotification limit

結論として、64個以上を登録する方法はありません。
ただ、手段として「アプリを開いたときに直近の通知64個を組み込む」が紹介されていました。
Todoアプリなど、頻繁に開くアプリであればこの方法を使えそうな気がしますね

実験もしてみた

この方の記事は2019年更新であり、「現在(2024/5/31)と5年前では状況が変わるのでは?」と微かな希望を抱き、実験もしてみました。
【Swift5】ローカル通知(UNUserNotificationCenter)の最大登録数について

実験内容:1~100のローカル通知を順番に作成

passcheck.png

5年前と全く同じ結果でした。64個を超えると古い通知が削除されています。

おわりに

最後に宣伝です。

このような誕生日を通知するiosアプリをリリースしています。
誕生日book-通知とメモをリストで管理
スクリーンショット 2024-05-31 17.00.47.png

このアプリも通知最大数64であることを記載しないといけないな〜

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0