Add three test buttons (Empty, Invalid, Negative) below the "Test Notification"
button to test invalid time format handling. Each button attempts to schedule
a notification with invalid values: empty string, "25:00" (invalid hour), and
"-1:30" (negative time).
Improve TEST 3 error detection in test-phase1.sh by:
- Making grep case-insensitive to catch ERROR/invalid patterns
- Adding DNP-* error prefix patterns for plugin error logs
- Documenting that Capacitor bridge errors (⚡️ logs) appear in Xcode console
but not in system logs captured by xcrun simctl
iOS Test App
Status: ✅ SETUP COMPLETE
Ready for: Building and testing
Setup Status
✅ Basic structure created
✅ Capacitor iOS platform added
✅ Info.plist configured with BGTask identifiers
✅ AppDelegate configured for background tasks
✅ Podfile configured with plugin reference
⚠️ CocoaPods installation required
Next Steps
1. Install CocoaPods (if not installed)
sudo gem install cocoapods
2. Install Pod Dependencies
cd ios/App
pod install
cd ../..
3. Build and Run
Option A: Using Build Script
# From repo root
./scripts/build-ios-test-app.sh --simulator
Option B: Using Xcode
cd ios/App
open App.xcworkspace
# Then press Cmd+R in Xcode
Plugin Registration
The plugin is registered via:
- Podfile:
pod 'DailyNotificationPlugin', :path => '../../../ios/Plugin' - Capacitor Config:
capacitor.config.jsonincludes plugin entry - AppDelegate: Background tasks registered
Configuration Files
- Info.plist: Configured with BGTask identifiers and background modes
- AppDelegate.swift: Background task registration added
- Podfile: Plugin reference added
- capacitor.config.json: Plugin enabled
Troubleshooting
CocoaPods Not Installed
Error: command not found: pod
Solution:
sudo gem install cocoapods
Plugin Not Found
Error: Build fails with plugin not found
Solution:
- Verify plugin exists at
../../../ios/Plugin/ - Run
pod installinios/App/directory - Clean build folder in Xcode (Cmd+Shift+K)
Build Failures
Solution:
- Run
pod installinios/App/directory - Clean build folder (Cmd+Shift+K)
- Verify Capacitor plugin path
File Structure
ios-test-app/
├── ios/
│ └── App/
│ ├── App.xcworkspace # Open this in Xcode
│ ├── Podfile # CocoaPods dependencies
│ └── App/
│ ├── AppDelegate.swift # Background task registration
│ ├── Info.plist # BGTask identifiers configured
│ └── public/
│ └── index.html # Test UI
├── App/
│ └── App/
│ └── Public/
│ └── index.html # Source HTML
└── capacitor.config.json # Capacitor configuration
References
- Requirements:
doc/test-app-ios/IOS_TEST_APP_REQUIREMENTS.md - Testing Guide:
doc/IOS_PHASE1_TESTING_GUIDE.md - Build Script:
scripts/build-ios-test-app.sh
Status: ✅ READY FOR BUILDING (after CocoaPods installation)