Here’s a quick-start example for iOS notifications using `UserNotifications` and APNs. ```swift import UIKit import UserNotifications @main class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterDelegate { var window: UIWindow? func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil ) -> Bool { let center = UNUserNotificationCenter.current() center.delegate = self // Ideally show an in-ap...
Scanned 9/5/2026
Install to Claude Code
npx -y skills add HoangNguyen0403/agent-skills-standard --skill ios-notifications --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Ios Notifications?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/hoangnguyen0403-ios-notifications-c148aca6)More formats (shields.io, HTML) on the badges page.
Here’s a quick-start example for iOS notifications using `UserNotifications` and APNs.
```swift
import UIKit
import UserNotifications
@main
class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterDelegate {
var window: UIWindow?
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil
) -> Bool {
let center = UNUserNotificationCenter.current()
center.delegate = self
// Ideally show an in-app primer before this system prompt.
center.requestAuthorization(options: [.alert, .badge, .sound]) { granted, error in
if let error = error {
print("Notification permission error: \(error)")
return
}
guard granted else { return }
DispatchQueue.main.async {
application.registerForRemoteNotifications()
}
}
return true
}
func application(
_ application: UIApplication,
didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data
) {
let token = deviceToken.map { String(format: "%02.2hhx", $0) }.joined()
print("APNs token: \(token)")
// Send token to your backend here.
}
func application(
_ application: UIApplication,
didFailToRegisterForRemoteNotificationsWithError error: Error
) {
print("APNs registration failed: \(error)")
}
// Foreground notification handling
func userNotificationCenter(
_ center: UNUserNotificationCenter,
willPresent notification: UNNotification,
withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void
) {
completionHandler([.banner, .sound, .badge])
}
// User tapped notification
func userNotificationCenter(
_ center: UNUserNotificationCenter,
didReceive response: UNNotificationResponse,
withCompletionHandler completionHandler: @escaping () -> Void
) {
let userInfo = response.notification.request.content.userInfo
print("Notification payload: \(userInfo)")
completionHandler()
}
}
```
Optional local notification example:
```swift
func scheduleLocalNotification() {
let content = UNMutableNotificationContent()
content.title = "Reminder"
content.body = "Don't forget to check the app."
content.sound = .default
content.badge = 1
let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 5, repeats: false)
let request = UNNotificationRequest(
identifier: UUID().uuidString,
content: content,
trigger: trigger
)
UNUserNotificationCenter.current().add(request)
}
```
Notes:
- Use `UNUserNotificationCenterDelegate` so notifications can be handled in foreground and on tap.
- Register for remote notifications only after permission is granted.
- Clear badges when appropriate, for example:
```swift
UIApplication.shared.applicationIconBadgeNumber = 0
```
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!