Files
daily-notification-plugin/test-apps/ios-test-app
Matthew Raymer d23a1e8719 feat(ios): set up iOS test app project structure from command line
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
2025-11-11 19:30:43 -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