feat(ios): create iOS test app structure and synchronization documentation
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.
This commit is contained in:
148
test-apps/ios-test-app/README.md
Normal file
148
test-apps/ios-test-app/README.md
Normal file
@@ -0,0 +1,148 @@
|
||||
# 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)
|
||||
|
||||
Reference in New Issue
Block a user