Fix configure() method to read parameters directly from CAPPluginCall instead of expecting nested options object, matching Android implementation. Improve build process to ensure canonical UI is always copied: - iOS build script: Copy www/index.html to test app before build - Android build.gradle: Add copyCanonicalUI task to run before build - Ensures test apps always use latest UI from www/index.html This fixes the issue where configure() was returning 'Configuration options required' error because it expected a nested options object when Capacitor passes parameters directly on the call object.
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)