⚠️ RETIRED: This native iOS implementation has been retired. Please use the Flutter app instead, which provides the same features with cross-platform support.
Native iOS implementation of the Mr. Pomodoro timer app built with SwiftUI for modern iOS devices.
This native iOS app is no longer actively maintained.
The project has transitioned to a Flutter-based cross-platform implementation which provides:
- Single codebase for iOS and Android
- Consistent UI/UX across platforms
- Easier maintenance and updates
- 200+ comprehensive tests
➡️ Please use the Flutter app for all new development and contributions.
- Full Pomodoro Timer - Start, pause, resume, and reset functionality
- Session Management - Focus, short break, and long break sessions with auto-transition
- Statistics Tracking - View productivity metrics with daily, weekly, and all-time views
- 5 Themes - Classic Red, Ocean Blue, Forest Green, Midnight Dark, Sunset Orange
- Focus Mode Integration - Native iOS Focus Mode suggestions during work sessions
- Siri Shortcuts - Voice control for timer operations
- Notifications - Local notifications for session completion
- Background Support - Timer continues running when app is backgrounded
- Privacy First - All data stored locally with UserDefaults and CoreData
![]() |
![]() |
![]() |
| Focus Mode | Break Time | Your Progress |
- Xcode: 26.0.1 or later
- iOS: 17.0+ (Minimum deployment target)
- Swift: 5.0+
- macOS: Latest version for Xcode support
# Clone the repository
git clone https://github.com/avtansh-code/pomodoro_timer.git
cd pomodoro_timer/native_apps/iOS
# Open in Xcode
open PomodoroTimer.xcodeproj
# Build and run (⌘+R)- Connect your iPhone or iPad
- Select your device in Xcode
- Configure signing in project settings
- Build and run (⌘+R)
- Grant notification permissions when prompted
The app follows the MVVM (Model-View-ViewModel) pattern:
native_apps/iOS/PomodoroTimer/
├── Models/ # Data models
│ ├── TimerSession.swift
│ ├── TimerSettings.swift
│ └── AppTheme.swift
│
├── Services/ # Business logic
│ ├── TimerManager.swift
│ ├── PersistenceManager.swift
│ ├── ThemeManager.swift
│ ├── FocusModeManager.swift
│ ├── HapticManager.swift
│ └── ScreenshotHelper.swift
│
├── Views/ # SwiftUI views
│ ├── MainTimerView.swift
│ ├── SettingsView.swift
│ ├── StatisticsView.swift
│ ├── ThemeSelectionView.swift
│ ├── PomodoroBenefitsView.swift
│ └── PrivacyPolicyView.swift
│
├── AppIntents/ # Siri integration
│ ├── StartPomodoroIntent.swift
│ ├── PauseTimerIntent.swift
│ ├── ResumeTimerIntent.swift
│ ├── ResetTimerIntent.swift
│ └── ShowStatisticsIntent.swift
│
└── Assets.xcassets/ # Images and colors
- Language: Swift 5.0+ with modern concurrency
- UI: SwiftUI for declarative interface
- Architecture: MVVM pattern
- Storage: UserDefaults for settings, CoreData for sessions
- Reactive: Combine framework for state management
- Background: Timer continues via background execution
The app supported the following Siri commands:
- "Start a Pomodoro Timer" - Begin a new focus session
- "Pause Pomodoro Timer" - Pause the current timer
- "Resume Pomodoro Timer" - Resume a paused timer
- "Reset Pomodoro Timer" - Reset to beginning
- "Show my Pomodoro Timer stats" - Open statistics
The app integrated with iOS Focus Mode:
- Automatic Suggestions - App suggests enabling Focus Mode when starting work sessions
- User Control - Enable/disable in Settings
- Privacy First - App never automatically enables Focus Mode
- Seamless Integration - Works with your existing Focus configurations
Key configurations in Xcode project:
IPHONEOS_DEPLOYMENT_TARGET = 17.0
SDKROOT = iphoneos
TARGETED_DEVICE_FAMILY = 1,2 (iPhone and iPad)
MARKETING_VERSION = 1.1.0
CURRENT_PROJECT_VERSION = 3
SWIFT_VERSION = 5.0
Required capabilities configured in project:
- Background Modes (for timer)
- Push Notifications (local notifications)
- Siri (for shortcuts)
native_apps/iOS/
├── PomodoroTimer/
│ ├── Models/
│ ├── Services/
│ ├── Views/
│ ├── AppIntents/
│ └── Assets.xcassets/
├── PomodoroTimer.xcodeproj/
├── PomodoroTimerUITests/
└── README.md
- Main README - Project overview
- Flutter App - Active development (recommended)
- Legacy Android App - Legacy Android implementation
See LICENSE for details.
For the actively maintained Flutter version:
- Issues: GitHub Issues
- Email: support@pomodorotimer.in
Status: Retired (Legacy)
Version: 1.1.2 (Build 6)
Min iOS: 17.0
Built with: Xcode 26.0.1 / Swift 5.0+ / SwiftUI
Successor: Flutter App


