Files
daily-notification-plugin/test-apps/ios-test-app
Matthew Raymer abfa1029a4 fix(ios): add debug logging and fix storyboard ViewController class
Added debug logging to diagnose WebView loading issue:

Debug Logging:
- Added print statements to check bridge and WebView initialization
- Logs WebView URL to see if HTML is being loaded
- Helps diagnose if bridge is nil or WebView isn't configured

Storyboard Fix:
- Changed customClass from CAPBridgeViewController to ViewController
- Changed customModule from Capacitor to App
- Ensures storyboard uses our custom ViewController class

Fixes:
- WebView debugging: can now see if bridge/WebView are initialized
- Storyboard configuration: uses correct ViewController class
- HTML loading: helps diagnose why HTML isn't displaying

Result: Can now see in logs if WebView is being initialized correctly
2025-11-11 20:26:40 -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