Created complete iOS test app project structure: Project Setup: - Created package.json with Capacitor dependencies - Installed Capacitor CLI and iOS platform - Generated Xcode project (App.xcodeproj, App.xcworkspace) - Configured Podfile with correct paths Podfile Configuration: - Fixed paths to use local node_modules for Capacitor - Added DailyNotificationPlugin from project root - Configured for iOS 13.0+ deployment target Fixed Issues: - Resolved zsh syntax error (CODE_SIGN_IDENTITY='' instead of "") - Corrected Podfile paths for Capacitor and plugin - Created public directory for web assets Result: - Pod install successful (3 pods installed) - Workspace ready for command-line builds - All files in place for simulator builds Next: Can now run build scripts or xcodebuild commands
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