- Add build scripts for Android and iOS platforms - Remove duplicate web implementation (src/web.ts) - Add proper TypeScript configuration - Add module documentation to index.ts - Clean up package.json scripts This commit improves the project structure and build process by: 1. Adding dedicated build scripts for native platforms 2. Removing redundant web implementation 3. Adding proper TypeScript configuration with strict mode 4. Improving code documentation 5. Organizing package.json scripts The changes maintain backward compatibility while improving the development experience and code quality.
iOS Implementation
This directory contains the iOS-specific implementation of the DailyNotification plugin.
Implementation Details
The iOS implementation uses:
BGTaskSchedulerfor background data fetchingUNUserNotificationCenterfor notification managementUserDefaultsfor local data storage- iOS notification categories and actions
Native Code Location
The native iOS implementation is located in the ios/ directory at the project root.
Key Components
DailyNotificationIOS.swift: Main plugin classBackgroundTaskManager.swift: Handles background fetch schedulingNotificationManager.swift: Manages notification creation and displayDataStore.swift: Handles local data persistence
Implementation Notes
- Uses BGTaskScheduler for reliable background execution
- Implements proper battery optimization handling
- Supports iOS notification categories and actions
- Handles background refresh limitations
- Uses UserDefaults for lightweight data storage
Testing
Run iOS-specific tests with:
npm run test:ios