Files
daily-notification-plugin/test-apps/ios-test-app
Matthew Raymer a2e4517518 feat(ios): complete iOS test apps setup with plugin integration
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
2025-11-11 01:37:05 -08:00
..

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

  1. Open App.xcworkspace in Xcode
  2. Select target device/simulator
  3. 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

  1. Clean build folder in Xcode (⌘⇧K)
  2. Delete derived data
  3. Rebuild

See Also