You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			|  | 2 months ago | |
|---|---|---|
| .. | ||
| DailyNotificationBackgroundTaskManager.swift | 2 months ago | |
| DailyNotificationConfig.swift | 7 months ago | |
| DailyNotificationConstants.swift | 7 months ago | |
| DailyNotificationDatabase.swift | 2 months ago | |
| DailyNotificationETagManager.swift | 2 months ago | |
| DailyNotificationError.swift | 7 months ago | |
| DailyNotificationErrorHandler.swift | 2 months ago | |
| DailyNotificationLogger.swift | 7 months ago | |
| DailyNotificationMaintenanceWorker.swift | 7 months ago | |
| DailyNotificationPerformanceOptimizer.swift | 2 months ago | |
| DailyNotificationPlugin.swift | 2 months ago | |
| DailyNotificationPowerManager.swift | 7 months ago | |
| DailyNotificationRollingWindow.swift | 2 months ago | |
| DailyNotificationTTLEnforcer.swift | 2 months ago | |
| NotificationContent.swift | 2 months ago | |
| README.md | 2 months ago | |
| index.ts | 7 months ago | |
		
			
				
				README.md
			
		
		
	
	iOS Implementation
This directory contains the iOS-specific implementation of the DailyNotification plugin.
Current Implementation Status
✅ IMPLEMENTED:
- Basic plugin structure (DailyNotificationPlugin.swift)
- UserDefaults for local data storage
- Power management (DailyNotificationPowerManager.swift)
- Battery optimization handling
- iOS notification categories and actions
❌ NOT IMPLEMENTED (Planned):
- BGTaskSchedulerfor background data fetching
- Background task management
- Silent push nudge support
- T–lead prefetch logic
Implementation Details
The iOS implementation currently uses:
- UNUserNotificationCenterfor notification management ✅
- UserDefaultsfor local data storage ✅
- iOS notification categories and actions ✅
- Power management and battery optimization ✅
Planned additions:
- BGTaskSchedulerfor background data fetching
- Background task management
- Silent push support
Native Code Location
The native iOS implementation is located in the ios/ directory at the project root.
Key Components
- DailyNotificationPlugin.swift: Main plugin class ✅
- DailyNotificationPowerManager.swift: Power state management ✅
- DailyNotificationConfig.swift: Configuration options ✅
- DailyNotificationMaintenanceWorker.swift: Maintenance tasks ✅
- DailyNotificationLogger.swift: Logging system ✅
Missing Components (Planned):
- BackgroundTaskManager.swift: Handles background fetch scheduling
- NotificationManager.swift: Manages notification creation and display
- DataStore.swift: Handles local data persistence
Implementation Notes
- Uses UserDefaults for lightweight data storage ✅
- Implements proper battery optimization handling ✅
- Supports iOS notification categories and actions ✅
- Handles background refresh limitations ✅
Planned Features:
- BGTaskScheduler for reliable background execution
- Silent push notification support
- Background task budget management
Testing
Run iOS-specific tests with:
npm run test:ios