Я столкнулся с той же проблемой. Что я сделал, так это создал очередь, и при каждом запуске приложения я перепланировал уведомления на основе этой очереди. 64 могут быть запланированы, а другие находятся в очереди в соответствии с их датой стрельбы. Я также создал тихие push-уведомления, которые приходят каждые n часов, чтобы заставить мое приложение стать активным. При таком подходе я мог бы позаботиться об этой очереди, даже если пользователь не открывает приложение. Ваша цель может быть достигнута, но ее действительно трудно реализовать.
В конце концов, экосистема iOS не позволяет процветать сторонним приложениям, имеющим ту же функциональность, что и приложения по умолчанию для ОС. Поэтому, если вы создаете приложение для будильника, вам лучше подумать еще раз.