Created standalone iOS test app structure matching android-test-app: - Added ios-test-app directory with README, setup guide, and build scripts - Created comprehensive iOS synchronization status documentation - Documented API method gaps between Android (52) and iOS (9 methods) - Added iOS setup guide for Vue 3 test app New files: - test-apps/ios-test-app/ - Standalone iOS test app structure - docs/IOS_SYNC_STATUS.md - Detailed API comparison and status tracking - docs/IOS_SYNC_SUMMARY.md - Summary of iOS synchronization work - test-apps/daily-notification-test/docs/IOS_SETUP.md - Vue app iOS setup iOS test environments are now ready for setup. Test apps need Xcode project generation via Capacitor CLI or copying from ios/App. Next steps: Generate Xcode projects and implement missing API methods.
3.1 KiB
3.1 KiB
iOS Setup for Daily Notification Test App
Author: Matthew Raymer
Date: 2025-11-04
Overview
This guide explains how to set up the iOS platform for the Vue 3 test app (daily-notification-test).
Initial Setup
Step 1: Add iOS Platform
cd test-apps/daily-notification-test
npx cap add ios
This will:
- Create
ios/directory - Generate Xcode project structure
- Set up CocoaPods configuration
- Configure Capacitor integration
Step 2: Install CocoaPods Dependencies
cd ios/App
pod install
Step 3: Verify Plugin Integration
The plugin should be automatically included via Capacitor when you run npx cap sync ios. Verify in ios/App/Podfile:
pod 'DailyNotificationPlugin', :path => '../../../ios'
If not present, add it manually.
Step 4: Build and Run
# From test-apps/daily-notification-test
npm run build
npx cap sync ios
npx cap run ios
Or use the build script:
./scripts/build-and-deploy-ios.sh
Plugin Configuration
The plugin is configured in capacitor.config.ts:
plugins: {
DailyNotification: {
debugMode: true,
enableNotifications: true,
// ... TimeSafari configuration
}
}
This configuration is automatically synced to iOS when you run npx cap sync ios.
iOS-Specific Configuration
Info.plist
After npx cap add ios, verify ios/App/App/Info.plist includes:
NSUserNotificationsUsageDescription- Notification permission descriptionUIBackgroundModes- Background modes (fetch, processing)BGTaskSchedulerPermittedIdentifiers- Background task identifiers
Podfile
Ensure ios/App/Podfile includes the plugin:
platform :ios, '13.0'
use_frameworks!
def capacitor_pods
pod 'Capacitor', :path => '../../node_modules/@capacitor/ios'
pod 'CapacitorCordova', :path => '../../node_modules/@capacitor/ios'
pod 'DailyNotificationPlugin', :path => '../../../ios'
end
target 'App' do
capacitor_pods
end
Build Process
- Build Web Assets:
npm run build - Sync with iOS:
npx cap sync ios - Install Pods:
cd ios/App && pod install - Build iOS: Use Xcode or
xcodebuild
Troubleshooting
iOS Directory Missing
If ios/ directory doesn't exist:
npx cap add ios
Plugin Not Found
-
Ensure plugin is built:
./scripts/build-native.sh --platform ios -
Verify Podfile includes plugin path
-
Reinstall pods:
cd ios/App pod deintegrate pod install
Build Errors
- Clean build folder in Xcode (⌘⇧K)
- Delete derived data
- Rebuild
Sync Issues
If npx cap sync ios fails:
- Check
capacitor.config.tsis valid - Ensure
dist/directory exists (runnpm run build) - Check plugin path in
package.json
Testing
Once set up, you can test the plugin:
- Build and run:
npx cap run ios - Open app in simulator
- Navigate to plugin test views
- Test plugin functionality