# 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 18+ with Swift 6, built on a modular architecture, and styled with the Bedrock design system. --- ## 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 **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** - Unlimited alarms with labels, repeat schedules, and snooze options - Alarm sound library with preview - Vibration and volume controls per alarm - Focus-mode aware scheduling **Display Mode** - Long-press to enter immersive display mode - Auto-hides navigation and status bar - Optional wake-lock to keep the screen on ### What's New - 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 - Bedrock-based theming and branded launch - iPhone and iPad support with adaptive layouts --- ## Requirements - iOS 18.0+ - Xcode 16+ - Swift 6 --- ## Build & Run Open `TheNoiseClock.xcodeproj` and run the `TheNoiseClock` scheme. ### Terminal Build ```bash 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: 1. Open Clock Settings -> Debug 2. Tap **Icon Generator** 3. Export `AppIcon.png` and drop it into `Assets.xcassets/AppIcon` --- ## Build Configuration (xcconfig) Identifiers are centralized in xcconfig files: - `TheNoiseClock/Configuration/Base.xcconfig` - `TheNoiseClock/Configuration/Debug.xcconfig` - `TheNoiseClock/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