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.
|
1 week ago | |
---|---|---|
.. | ||
DailyNotificationConfig.swift | 6 months ago | |
DailyNotificationConstants.swift | 6 months ago | |
DailyNotificationError.swift | 6 months ago | |
DailyNotificationLogger.swift | 6 months ago | |
DailyNotificationMaintenanceWorker.swift | 6 months ago | |
DailyNotificationPlugin.swift | 6 months ago | |
DailyNotificationPowerManager.swift | 6 months ago | |
README.md | 1 week ago | |
index.ts | 6 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):
BGTaskScheduler
for background data fetching- Background task management
- Silent push nudge support
- T–lead prefetch logic
Implementation Details
The iOS implementation currently uses:
UNUserNotificationCenter
for notification management ✅UserDefaults
for local data storage ✅- iOS notification categories and actions ✅
- Power management and battery optimization ✅
Planned additions:
BGTaskScheduler
for 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 schedulingNotificationManager.swift
: Manages notification creation and displayDataStore.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