swiftship/internal/skills/data/features/notifications/SKILL.md
Local notifications: permission states, scheduling, badge management, UserNotifications framework. Use when implementing app features related to notifications.
npx skillsauth add abdullah4ai/apple-dev-docs notificationsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
NOTIFICATIONS (LOCAL — no server needed):
FRAMEWORK: UserNotifications — UNUserNotificationCenter.current()
PERMISSION STATES (CRITICAL — must handle ALL four states):
PERMISSION IS SYSTEM-CONTROLLED (CRITICAL):
UI THAT DISPLAYS NOTIFICATION STATUS (in ANY view — must handle ALL three states):
RE-CHECK ON FOREGROUND (CRITICAL): Any view displaying notification status MUST re-check when the app returns to foreground. The user may have changed permissions in System Settings while the app was backgrounded.
.onReceive(NotificationCenter.default.publisher(for: UIApplication.willEnterForegroundNotification)) { _ in Task { let settings = await UNUserNotificationCenter.current().notificationSettings() isNotificationsEnabled = (settings.authorizationStatus == .authorized || settings.authorizationStatus == .provisional) } }
SCHEDULING:
BADGE COUNT:
testing
Use for 3D games: racing, 3D sports, board games, marble maze, tower defense, bowling. SceneKit + SceneView architecture, 3D scene hierarchy, physics, game loop, primitives, materials, cameras, particles, audio.
documentation
Game UI patterns: SwiftUI HUD overlays on SpriteKit, menus (main/pause/game-over), virtual joystick/d-pad, score displays, health bars, tutorial onboarding.
tools
Download free game sprites/textures/3D models and generate procedural assets. Covers nw_download_asset tool, texture factories, sprite atlas organization, 3D model loading, and programmatic asset creation.
testing
Use for 2D games: arcade, puzzle, sports, ping pong, platformer, shooter, 2D racing. SpriteKit + SpriteView architecture, scene hierarchy, physics, game loop, audio, particles, game feel.