5.2 KiB
TheNoiseClock
TheNoiseClock is a SwiftUI iOS app that blends a bold, full-screen digital clock with white noise playback and a rich alarm system. It is optimized for iOS 26+ with Swift 6, built on a modular architecture, and styled with the Bedrock design system. Alarms use AlarmKit for reliable wake-up alerts that cut through Focus modes and silent mode.
App Store Information
App Name
TheNoiseClock
Subtitle (30 chars max)
Clock, noise, and alarms
Promotional Text (170 chars max)
A clean, full-screen clock with ambient soundscapes and a powerful alarm editor. Customize colors, fonts, and glow for a distraction-free display.
Keywords (100 chars max)
clock,alarm,white noise,ambient,sleep,timer,focus,night mode,bedside
Description
TheNoiseClock is a distraction-free digital clock with built-in white noise and a fully featured alarm system. Designed for late-night focus, bedside use, and calm environments, it fills the screen with bold, stable digits and lets you tune the look and sound to your space.
Clock
- Full-screen, orientation-aware clock with optional seconds and AM/PM
- Fixed-width digits prevent layout "jumping"
- Auto-fit sizing and manual scale control
- Custom fonts, weights, and designs with live preview
- Glow and opacity controls for low-light comfort
- Clock tab hides the status bar for a distraction-free display
- Selectable animation styles: None, Spring, Bounce, and Glitch
- Modern iOS 18+ animations: numeric transitions, phase-based bounces, glitch effects, and breathing colons
- Automatic full-screen: UI fades out after 5 seconds of inactivity, tap to restore
- Optional mini-controls for alarms and white noise directly on the clock face
White Noise
- Multiple ambient categories and curated sound packs
- Seamless looping with background audio support
- Quick preview on long-press, instant play/stop controls
Alarms (Powered by AlarmKit)
- Unlimited alarms with labels, repeat schedules, and snooze options
- Alarm sound library with preview (MP3 format)
- Vibration and volume controls per alarm
- AlarmKit integration: alarms cut through Focus modes and silent mode
- Live Activity countdown shows 5 minutes before alarm fires
- Dynamic Island displays countdown and alarm status
- Lock Screen shows alarm countdown with custom UI
- Full-screen in-app alarm screen with Snooze/Stop when active
- Snooze support via AlarmKit's countdown feature
Display Mode
- Automatic full-screen display after 5 seconds of inactivity
- Tap anywhere to restore navigation and status bar
- Optional wake-lock to keep the screen on
What's New
- First-launch onboarding with feature highlights and notification setup
- Branded launch experience with Bedrock theming
- Redesigned settings interface with cards, toggles, and sliders
- Centralized build identifiers via xcconfig
Features
- Real-time digital clock with full customization
- Full-screen display mode and Dynamic Island awareness
- White noise playback with categories and previews
- Rich alarm editor with scheduling and snooze controls
- Full-screen in-app alarm screen with Snooze/Stop controls
- Bedrock-based theming and branded launch
- iPhone and iPad support with adaptive layouts
- First-launch onboarding with feature highlights and permission setup
Requirements
- iOS 26.0+
- Xcode 26+
- Swift 6
Build & Run
Open TheNoiseClock.xcodeproj and run the TheNoiseClock scheme.
Terminal Build
cd /Users/mattbruce/Documents/Projects/iPhone/TheNoiseClock
xcodebuild -project TheNoiseClock/TheNoiseClock.xcodeproj -scheme TheNoiseClock -destination 'platform=iOS Simulator,name=iPad mini (A17 Pro),OS=18.1' build
Branding & Theming
The app uses Bedrock for theme tokens, settings UI, and the launch experience.
- Theme:
TheNoiseClock/Shared/Design/NoiseClockTheme.swift - Branding config:
TheNoiseClock/Shared/Design/BrandingConfig.swift - Launch screen:
TheNoiseClock/Resources/LaunchScreen.storyboard
To generate an app icon in DEBUG:
- Open Clock Settings -> Debug
- Tap Icon Generator
- Export
AppIcon.pngand drop it intoAssets.xcassets/AppIcon
Build Configuration (xcconfig)
Identifiers are centralized in xcconfig files:
TheNoiseClock/Configuration/Base.xcconfigTheNoiseClock/Configuration/Debug.xcconfigTheNoiseClock/Configuration/Release.xcconfig
Update COMPANY_IDENTIFIER and DEVELOPMENT_TEAM in Base.xcconfig to migrate to a new account.
Swift access is provided via:
TheNoiseClock/Configuration/AppIdentifiers.swift
Architecture
TheNoiseClock follows a clean, modular structure:
TheNoiseClock/
├── AudioPlaybackKit/ # Reusable audio package
├── TheNoiseClock/ # Main app target
│ ├── App/ # App entry, TabView
│ ├── Configuration/ # xcconfig + AppIdentifiers
│ ├── Features/ # Clock, Alarms, Noise
│ ├── Shared/ # Theme, branding, utilities
│ └── Resources/ # Bundles, JSON, assets
└── TheNoiseClock.xcodeproj/
Support & Contact
For feedback, feature requests, or support: support@thenoiseclock.app