I immerse myself in iOS development and create my own alarm clock app to familiarize myself with the platform and the SDK. One of the APIs that I am currently studying is the Local Notifications API, which I believe is the same API that Apple uses to implement its alarms in the Clock application.
I don’t understand how they implement their Deferral functions. As I understand it, local notifications allow you to present a warning window to the user, in which no more than two buttons, if your application does not work in the foreground, one button to reject the warning and one button to switch the user to your application, However, in the application The Apple Clock user is offered a window with two buttons, one button to turn off the alarm and one “Snooze” button and transfer the alarm without starting the Clock application. My questions...
When a user clicks the Snooze button, how do you think Apple reschedules a local alert notification without launching the Clock application? Do you think that they use their own APIs that circumvent the limitations of local notifications, which allow only two options? Or do you think that they launch the Clock application to reassign the local notification, they just do not show the launch of the application and exit from it?
The documentation states that the alertAction property for Local Notification is the text that will be displayed on the right button of the warning window and the slider of the lock screen. However, in the Apple Clock application, the text “Postpone” is the left button in the warning field, as well as the text of the slider. Why is this happening back?
Thanks so much for your thoughts!