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.
157 lines
3.1 KiB
Markdown
157 lines
3.1 KiB
Markdown
# iOS Test App Setup Guide
|
|
|
|
**Author**: Matthew Raymer
|
|
**Date**: 2025-11-04
|
|
|
|
## Overview
|
|
|
|
This guide explains how to set up the standalone iOS test app for the DailyNotification plugin. The iOS test app mirrors the Android test app (`android-test-app`) functionality.
|
|
|
|
## Option 1: Use Capacitor CLI (Recommended)
|
|
|
|
### Step 1: Generate iOS App
|
|
|
|
```bash
|
|
cd test-apps/ios-test-app
|
|
npx @capacitor/create-app@latest App --template blank
|
|
```
|
|
|
|
### Step 2: Configure Plugin
|
|
|
|
Edit `App/Podfile`:
|
|
|
|
```ruby
|
|
platform :ios, '13.0'
|
|
use_frameworks!
|
|
|
|
def capacitor_pods
|
|
pod 'Capacitor', :path => '../../../node_modules/@capacitor/ios'
|
|
pod 'CapacitorCordova', :path => '../../../node_modules/@capacitor/ios'
|
|
pod 'DailyNotificationPlugin', :path => '../../../ios'
|
|
end
|
|
|
|
target 'App' do
|
|
capacitor_pods
|
|
end
|
|
```
|
|
|
|
### Step 3: Install Dependencies
|
|
|
|
```bash
|
|
cd App
|
|
pod install
|
|
```
|
|
|
|
### Step 4: Copy Test Interface
|
|
|
|
Copy the test HTML from `test-apps/android-test-app/app/src/main/assets/public/index.html` to `App/App/public/index.html`.
|
|
|
|
### Step 5: Configure Capacitor
|
|
|
|
Edit `App/App/capacitor.config.json`:
|
|
|
|
```json
|
|
{
|
|
"appId": "com.timesafari.dailynotification",
|
|
"appName": "DailyNotification Test App",
|
|
"webDir": "public",
|
|
"plugins": {
|
|
"DailyNotification": {
|
|
"debugMode": true,
|
|
"enableNotifications": true
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
## Option 2: Copy from ios/App (Quick Start)
|
|
|
|
If `ios/App` already exists, you can copy it:
|
|
|
|
```bash
|
|
# From project root
|
|
cp -r ios/App test-apps/ios-test-app/App
|
|
cd test-apps/ios-test-app/App
|
|
pod install
|
|
```
|
|
|
|
Then update:
|
|
- `App/Info.plist` - Bundle ID: `com.timesafari.dailynotification`
|
|
- `App/capacitor.config.json` - App ID and name
|
|
- `App/public/index.html` - Copy test interface from Android test app
|
|
|
|
## Build and Run
|
|
|
|
### Using Xcode
|
|
|
|
```bash
|
|
cd test-apps/ios-test-app/App
|
|
open App.xcworkspace
|
|
# Then build and run in Xcode
|
|
```
|
|
|
|
### Using Command Line
|
|
|
|
```bash
|
|
cd test-apps/ios-test-app/App
|
|
xcodebuild -workspace App.xcworkspace \
|
|
-scheme App \
|
|
-configuration Debug \
|
|
-sdk iphonesimulator \
|
|
-destination 'platform=iOS Simulator,name=iPhone 15 Pro' \
|
|
clean build
|
|
```
|
|
|
|
### Using Build Script
|
|
|
|
```bash
|
|
cd test-apps/ios-test-app
|
|
./scripts/build-and-deploy.sh
|
|
```
|
|
|
|
## Plugin Registration
|
|
|
|
The plugin is automatically registered via Capacitor when included in `Podfile`. No manual registration needed.
|
|
|
|
## Test Interface
|
|
|
|
The test interface (`App/App/public/index.html`) provides buttons for:
|
|
|
|
- Plugin availability testing
|
|
- Configuration
|
|
- Status checking
|
|
- Notification scheduling
|
|
- Permission management
|
|
|
|
## Troubleshooting
|
|
|
|
### Plugin Not Found
|
|
|
|
Ensure plugin is built:
|
|
```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: `rm -rf ~/Library/Developer/Xcode/DerivedData`
|
|
3. Rebuild
|
|
|
|
## Next Steps
|
|
|
|
1. Build plugin: `./scripts/build-native.sh --platform ios`
|
|
2. Generate or copy iOS app structure
|
|
3. Install CocoaPods dependencies
|
|
4. Build and run in Xcode or simulator
|
|
5. Test plugin functionality
|
|
|