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 Test App Setup Guide
Author: Matthew Raymer
Date: 2025-11-04
Overview
This guide explains how to set up the standalone iOS test app for the DailyNotification plugin. The iOS test app mirrors the Android test app (android-test-app) functionality.
Option 1: Use Capacitor CLI (Recommended)
Step 1: Generate iOS App
cd test-apps/ios-test-app
npx @capacitor/create-app@latest App --template blank
Step 2: Configure Plugin
Edit App/Podfile:
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
Step 3: Install Dependencies
cd App
pod install
Step 4: Copy Test Interface
Copy the test HTML from test-apps/android-test-app/app/src/main/assets/public/index.html to App/App/public/index.html.
Step 5: Configure Capacitor
Edit App/App/capacitor.config.json:
{
"appId": "com.timesafari.dailynotification",
"appName": "DailyNotification Test App",
"webDir": "public",
"plugins": {
"DailyNotification": {
"debugMode": true,
"enableNotifications": true
}
}
}
Option 2: Copy from ios/App (Quick Start)
If ios/App already exists, you can copy it:
# From project root
cp -r ios/App test-apps/ios-test-app/App
cd test-apps/ios-test-app/App
pod install
Then update:
App/Info.plist- Bundle ID:com.timesafari.dailynotificationApp/capacitor.config.json- App ID and nameApp/public/index.html- Copy test interface from Android test app
Build and Run
Using Xcode
cd test-apps/ios-test-app/App
open App.xcworkspace
# Then build and run in Xcode
Using Command Line
cd test-apps/ios-test-app/App
xcodebuild -workspace App.xcworkspace \
-scheme App \
-configuration Debug \
-sdk iphonesimulator \
-destination 'platform=iOS Simulator,name=iPhone 15 Pro' \
clean build
Using Build Script
cd test-apps/ios-test-app
./scripts/build-and-deploy.sh
Plugin Registration
The plugin is automatically registered via Capacitor when included in Podfile. No manual registration needed.
Test Interface
The test interface (App/App/public/index.html) provides buttons for:
- Plugin availability testing
- Configuration
- Status checking
- Notification scheduling
- Permission management
Troubleshooting
Plugin Not Found
Ensure plugin is built:
./scripts/build-native.sh --platform ios
CocoaPods Issues
cd test-apps/ios-test-app/App
pod deintegrate
pod install
Build Errors
- Clean build folder in Xcode (⌘⇧K)
- Delete derived data:
rm -rf ~/Library/Developer/Xcode/DerivedData - Rebuild
Next Steps
- Build plugin:
./scripts/build-native.sh --platform ios - Generate or copy iOS app structure
- Install CocoaPods dependencies
- Build and run in Xcode or simulator
- Test plugin functionality