Created standalone iOS test app structure matching android-test-app: - Added ios-test-app directory with README, setup guide, and build scripts - Created comprehensive iOS synchronization status documentation - Documented API method gaps between Android (52) and iOS (9 methods) - Added iOS setup guide for Vue 3 test app New files: - test-apps/ios-test-app/ - Standalone iOS test app structure - docs/IOS_SYNC_STATUS.md - Detailed API comparison and status tracking - docs/IOS_SYNC_SUMMARY.md - Summary of iOS synchronization work - test-apps/daily-notification-test/docs/IOS_SETUP.md - Vue app iOS setup iOS test environments are now ready for setup. Test apps need Xcode project generation via Capacitor CLI or copying from ios/App. Next steps: Generate Xcode projects and implement missing API methods.
149 lines
3.1 KiB
Markdown
149 lines
3.1 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
cd test-apps/ios-test-app/App
|
|
pod install
|
|
```
|
|
|
|
### 2. Build Plugin First
|
|
|
|
```bash
|
|
# From project root
|
|
./scripts/build-native.sh --platform ios
|
|
```
|
|
|
|
### 3. Open in Xcode
|
|
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
cd test-apps/ios-test-app
|
|
./scripts/build-and-deploy.sh
|
|
```
|
|
|
|
## Plugin Integration
|
|
|
|
The plugin is integrated via CocoaPods:
|
|
|
|
```ruby
|
|
# 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:
|
|
```bash
|
|
./scripts/build-native.sh --platform ios
|
|
```
|
|
|
|
### CocoaPods Issues
|
|
|
|
```bash
|
|
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
|
|
|
|
- [Android Test App](../android-test-app/README.md)
|
|
- [Vue 3 Test App](../daily-notification-test/README.md)
|
|
- [Plugin Documentation](../../README.md)
|
|
|