Bird
Raised Fist0
iOS Swiftmobile~5 mins

Local notifications in iOS Swift - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a local notification in iOS?
A local notification is a message that an app schedules and delivers on the same device to alert the user, even if the app is not running in the foreground.
Click to reveal answer
beginner
Which iOS framework is used to manage local notifications?
The UserNotifications framework is used to schedule and manage local notifications in iOS.
Click to reveal answer
beginner
What permission must an app request to show local notifications?
The app must request authorization from the user to display alerts, play sounds, or badge the app icon using UNUserNotificationCenter's requestAuthorization method.
Click to reveal answer
intermediate
How do you schedule a local notification to trigger after 5 seconds?
Create a UNTimeIntervalNotificationTrigger with a time interval of 5 seconds and set repeats to false, then add a UNNotificationRequest with this trigger to UNUserNotificationCenter.
Click to reveal answer
intermediate
What is the role of UNNotificationRequest in local notifications?
UNNotificationRequest represents the notification to be delivered. It includes an identifier, content (title, body, sound), and a trigger that defines when to deliver the notification.
Click to reveal answer
Which class do you use to request permission for local notifications in iOS?
AUNUserNotificationCenter
BUIApplication
CUNNotificationRequest
DUNNotificationContent
What does UNTimeIntervalNotificationTrigger do?
ACancels a notification
BTriggers a notification at a calendar date
CRequests notification permission
DTriggers a notification after a time interval
Which method schedules a local notification?
Aadd(_:withCompletionHandler:)
BrequestAuthorization(options:completionHandler:)
CremovePendingNotificationRequests(withIdentifiers:)
DgetNotificationSettings(completionHandler:)
What must you include in UNNotificationContent?
AOnly title
BTitle, body, sound
COnly sound
DOnly badge number
Can local notifications be delivered if the app is closed?
AOnly if the app is in background
BNo, app must be open
CYes, local notifications work even if the app is closed
DOnly if the app is running in foreground
Explain the steps to schedule a local notification in iOS.
Think about what you need before showing a notification and how to tell the system when to show it.
You got /5 concepts.
    Describe how you handle user permission for local notifications and why it is important.
    Consider privacy and user control over notifications.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the first step you must do before scheduling local notifications in an iOS app?
      easy
      A. Request permission from the user to send notifications
      B. Create the notification content
      C. Set up the notification trigger
      D. Register the notification category

      Solution

      1. Step 1: Understand user permission requirement

        iOS requires apps to ask users for permission before sending notifications to respect privacy.
      2. Step 2: Request permission before scheduling

        You must call the requestAuthorization method to get user consent before scheduling any notifications.
      3. Final Answer:

        Request permission from the user to send notifications -> Option A
      4. Quick Check:

        Permission request = Request permission from the user to send notifications [OK]
      Hint: Always ask user permission first before notifications [OK]
      Common Mistakes:
      • Scheduling notifications without permission
      • Assuming notifications work without user consent
      • Skipping the requestAuthorization call
      2. Which of the following is the correct way to create a notification content in Swift?
      easy
      A. let content = UNNotificationContent()
      B. let content = NotificationContent()
      C. let content = UNMutableNotificationContent()
      D. let content = UNNotificationRequest()

      Solution

      1. Step 1: Identify the correct class for notification content

        UNMutableNotificationContent is the class used to create and customize notification content.
      2. Step 2: Differentiate from other classes

        UNNotificationContent is abstract and cannot be instantiated; UNNotificationRequest is for scheduling, not content.
      3. Final Answer:

        let content = UNMutableNotificationContent() -> Option C
      4. Quick Check:

        Use UNMutableNotificationContent() to create content [OK]
      Hint: Use UNMutableNotificationContent() to create notification content [OK]
      Common Mistakes:
      • Trying to instantiate UNNotificationContent directly
      • Confusing UNNotificationRequest with content
      • Using wrong class names
      3. What will happen when this Swift code runs?
      let content = UNMutableNotificationContent()
      content.title = "Reminder"
      content.body = "Time to drink water"
      let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 5, repeats: false)
      let request = UNNotificationRequest(identifier: "waterReminder", content: content, trigger: trigger)
      UNUserNotificationCenter.current().add(request)
      medium
      A. A notification appears after 5 seconds with the given title and body
      B. A notification titled 'Reminder' appears immediately
      C. The notification repeats every 5 seconds
      D. No notification appears because repeats is false

      Solution

      1. Step 1: Analyze the trigger setup

        The trigger is set with timeInterval 5 seconds and repeats false, so it fires once after 5 seconds.
      2. Step 2: Understand notification scheduling

        The request is added to the notification center, so the notification will appear after the delay with the specified title and body.
      3. Final Answer:

        A notification appears after 5 seconds with the given title and body -> Option A
      4. Quick Check:

        TimeInterval trigger fires once after delay = A notification appears after 5 seconds with the given title and body [OK]
      Hint: TimeInterval triggers fire after delay, repeats false means one-time [OK]
      Common Mistakes:
      • Thinking repeats false means no notification
      • Assuming notification appears immediately
      • Confusing repeats true with repeats false behavior
      4. Identify the error in this Swift code for scheduling a local notification:
      let content = UNMutableNotificationContent()
      content.title = "Alert"
      let trigger = UNTimeIntervalNotificationTrigger(timeInterval: -10, repeats: false)
      let request = UNNotificationRequest(identifier: "alert1", content: content, trigger: trigger)
      UNUserNotificationCenter.current().add(request)
      medium
      A. Missing requestAuthorization call before scheduling
      B. Negative timeInterval causes an error; timeInterval must be positive
      C. content.title should be content.body
      D. UNNotificationRequest identifier must be unique

      Solution

      1. Step 1: Check the trigger timeInterval value

        The timeInterval is set to -10, which is invalid because it must be positive.
      2. Step 2: Understand trigger constraints

        UNTimeIntervalNotificationTrigger requires a positive timeInterval to schedule the notification correctly.
      3. Final Answer:

        Negative timeInterval causes an error; timeInterval must be positive -> Option B
      4. Quick Check:

        timeInterval > 0 required = Negative timeInterval causes an error; timeInterval must be positive [OK]
      Hint: timeInterval must be positive for triggers [OK]
      Common Mistakes:
      • Using negative or zero timeInterval
      • Ignoring permission request (though important, not error here)
      • Confusing title and body properties
      5. You want to schedule a daily local notification at 8:00 AM that repeats every day. Which trigger setup is correct in Swift?
      hard
      A. UNTimeIntervalNotificationTrigger(timeInterval: 86400, repeats: true)
      B. UNTimeIntervalNotificationTrigger(timeInterval: 3600, repeats: true)
      C. UNCalendarNotificationTrigger(dateMatching: DateComponents(hour: 8, minute: 0), repeats: false)
      D. UNCalendarNotificationTrigger(dateMatching: DateComponents(hour: 8, minute: 0), repeats: true)

      Solution

      1. Step 1: Understand daily repeating notification needs

        To trigger at a specific time daily, use UNCalendarNotificationTrigger with repeats true and matching hour and minute.
      2. Step 2: Compare options

        UNTimeIntervalNotificationTrigger(timeInterval: 86400, repeats: true) repeats every 86400 seconds but may drift; UNCalendarNotificationTrigger(dateMatching: DateComponents(hour: 8, minute: 0), repeats: true) correctly uses calendar components for 8:00 AM daily; UNCalendarNotificationTrigger(dateMatching: DateComponents(hour: 8, minute: 0), repeats: false) does not repeat; UNTimeIntervalNotificationTrigger(timeInterval: 3600, repeats: true) repeats every hour, not daily.
      3. Final Answer:

        UNCalendarNotificationTrigger(dateMatching: DateComponents(hour: 8, minute: 0), repeats: true) -> Option D
      4. Quick Check:

        Use calendar trigger with repeats true for daily time [OK]
      Hint: Use calendar trigger with repeats true for daily notifications [OK]
      Common Mistakes:
      • Using time interval triggers for exact daily time
      • Setting repeats false for repeating notifications
      • Confusing seconds with hours in timeInterval
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard