Added iOS platform to Vue 3 test app and created standalone iOS test app: Vue 3 Test App (daily-notification-test): - Added iOS platform via 'npx cap add ios' - Created ios/ directory with Xcode project structure - Added DailyNotificationPlugin to Podfile - Generated App.xcodeproj and App.xcworkspace Standalone iOS Test App (ios-test-app): - Created App structure with Capacitor configuration - Added DailyNotificationPlugin to Podfile - Created capacitor.config.json with plugin settings - Copied test HTML interface (575 lines) from Android test app - Set up public/ directory for web assets Plugin Integration: - Both Podfiles configured with plugin path: '../../../ios' - Plugin dependencies ready for 'pod install' - Configuration files created and verified Documentation: - Created IOS_TEST_APPS_SETUP_COMPLETE.md with setup details - Documented next steps for CocoaPods and Xcode building All command-line setup complete. Ready for: - pod install (requires CocoaPods) - Xcode building and testing
iOS Test App for DailyNotification Plugin
Author: Matthew Raymer
Date: 2025-11-04
Version: 1.0.0
Overview
Standalone iOS test application for the DailyNotification Capacitor plugin. This app provides an interactive testing interface for all plugin features, similar to the Android test app (android-test-app).
Structure
ios-test-app/
├── App/ # Xcode project directory
│ ├── App/ # Main app source
│ │ ├── AppDelegate.swift
│ │ ├── ViewController.swift
│ │ ├── SceneDelegate.swift
│ │ ├── Info.plist
│ │ └── public/ # Web assets
│ │ └── index.html
│ ├── App.xcodeproj/ # Xcode project
│ ├── App.xcworkspace/ # CocoaPods workspace
│ └── Podfile # CocoaPods dependencies
├── scripts/ # Build scripts
└── README.md # This file
Prerequisites
- Xcode 14.0 or later
- CocoaPods (
gem install cocoapods) - Node.js (for Capacitor CLI)
- iOS 13.0+ deployment target
Setup
1. Install CocoaPods Dependencies
cd test-apps/ios-test-app/App
pod install
2. Build Plugin First
# From project root
./scripts/build-native.sh --platform ios
3. Open in Xcode
cd test-apps/ios-test-app/App
open App.xcworkspace
Building
Using Xcode
- Open
App.xcworkspacein Xcode - Select target device/simulator
- Build and run (⌘R)
Using Command Line
# Build for simulator
xcodebuild -workspace App.xcworkspace \
-scheme App \
-configuration Debug \
-sdk iphonesimulator \
-destination 'platform=iOS Simulator,name=iPhone 15 Pro' \
clean build
# Install on simulator
APP_PATH=$(find build -name "*.app" -type d | head -1)
xcrun simctl install booted "$APP_PATH"
xcrun simctl launch booted com.timesafari.dailynotification
Using Build Script
cd test-apps/ios-test-app
./scripts/build-and-deploy.sh
Plugin Integration
The plugin is integrated via CocoaPods:
# Podfile
pod 'DailyNotificationPlugin', :path => '../../../ios'
Features
- Interactive plugin testing interface
- Plugin diagnostics and status checking
- Notification scheduling and management
- Permission testing and management
- Comprehensive logging and debugging
Testing
The test interface is available at App/App/public/index.html and provides buttons for:
- Plugin availability testing
- Configuration
- Status checking
- Notification scheduling
- Permission management
- Channel management
Troubleshooting
Plugin Not Found
Ensure the plugin is built first:
./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
- Rebuild