Если во время отправки уведомления приложение, отправляющее уведомление, будет сфокусировано, то уведомление не будет отображаться как баннер. Приложение может доставить баннерное уведомление, только если оно не активно на переднем плане.
Ваш код работает хорошо , когда ваше приложение не в фокусе , я только что проверил его.
Таким образом, поскольку вы отправляете уведомление по нажатию кнопки, приложение фокусируется при отправке уведомления: уведомление отправляется только в Центр уведомлений, оно не отображается как баннер.
Это правило, специально разработанное Apple.