Files
daily-notification-plugin/test-apps/ios-test-app
Matthew Raymer 4b239e7faf fix(ios): add Capacitor script tags to index.html
Added missing Capacitor runtime scripts required for plugin access:

Script Tags:
- Added capacitor.js (main Capacitor runtime)
- Added capacitor_plugins.js (plugin definitions)
- Added initialization script to wait for Capacitor ready

Initialization:
- Waits for DOMContentLoaded event
- Polls for Capacitor.Plugins.DailyNotification availability
- Sets window.DailyNotification when ready

Fixes:
- Black screen issue: app was loading but Capacitor wasn't initialized
- Plugin access errors: window.Capacitor was undefined
- JavaScript errors preventing page rendering

Result: App should now display the test interface correctly
2025-11-11 20:06:20 -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