Added iOS platform to Vue 3 test app and created standalone iOS test app: Vue 3 Test App (daily-notification-test): - Added iOS platform via 'npx cap add ios' - Created ios/ directory with Xcode project structure - Added DailyNotificationPlugin to Podfile - Generated App.xcodeproj and App.xcworkspace Standalone iOS Test App (ios-test-app): - Created App structure with Capacitor configuration - Added DailyNotificationPlugin to Podfile - Created capacitor.config.json with plugin settings - Copied test HTML interface (575 lines) from Android test app - Set up public/ directory for web assets Plugin Integration: - Both Podfiles configured with plugin path: '../../../ios' - Plugin dependencies ready for 'pod install' - Configuration files created and verified Documentation: - Created IOS_TEST_APPS_SETUP_COMPLETE.md with setup details - Documented next steps for CocoaPods and Xcode building All command-line setup complete. Ready for: - pod install (requires CocoaPods) - Xcode building and testing
205 lines
5.1 KiB
Markdown
205 lines
5.1 KiB
Markdown
# iOS Test Apps Setup Complete
|
|
|
|
**Author**: Matthew Raymer
|
|
**Date**: 2025-11-04
|
|
**Status**: ✅ **COMMAND-LINE SETUP COMPLETE**
|
|
|
|
## Summary
|
|
|
|
All command-line setup for iOS test apps has been completed. Both test app scenarios are now ready for CocoaPods installation and Xcode building.
|
|
|
|
## Completed Setup
|
|
|
|
### 1. Vue 3 Test App (`test-apps/daily-notification-test`)
|
|
|
|
**iOS Platform Added:**
|
|
- ✅ Created `ios/` directory with Xcode project structure
|
|
- ✅ Generated `ios/App/` with Capacitor integration
|
|
- ✅ Created `Podfile` with Capacitor dependencies
|
|
|
|
**Plugin Integration:**
|
|
- ✅ Added `DailyNotificationPlugin` to Podfile
|
|
- ✅ Plugin path: `../../../ios`
|
|
- ✅ Ready for `pod install`
|
|
|
|
**Files Created:**
|
|
- `test-apps/daily-notification-test/ios/App/Podfile` - Includes plugin dependency
|
|
- `test-apps/daily-notification-test/ios/App/App/` - Xcode project structure
|
|
- `test-apps/daily-notification-test/ios/.gitignore` - Git ignore rules
|
|
|
|
### 2. Standalone iOS Test App (`test-apps/ios-test-app`)
|
|
|
|
**Structure Created:**
|
|
- ✅ Copied base structure from `ios/App`
|
|
- ✅ Created `App/App/public/` directory
|
|
- ✅ Created `App/capacitor.config.json` with plugin configuration
|
|
- ✅ Created `App/Podfile` with plugin dependency
|
|
|
|
**Test Interface:**
|
|
- ✅ Copied test HTML from Android test app (575 lines)
|
|
- ✅ Located at `App/App/public/index.html`
|
|
- ✅ Includes all plugin test functions
|
|
|
|
**Plugin Integration:**
|
|
- ✅ Added `DailyNotificationPlugin` to Podfile
|
|
- ✅ Plugin path: `../../../ios`
|
|
- ✅ Ready for `pod install`
|
|
|
|
**Files Created:**
|
|
- `test-apps/ios-test-app/App/capacitor.config.json` - Plugin configuration
|
|
- `test-apps/ios-test-app/App/Podfile` - CocoaPods dependencies
|
|
- `test-apps/ios-test-app/App/App/public/index.html` - Test interface
|
|
|
|
## Configuration Details
|
|
|
|
### Vue 3 Test App Podfile
|
|
|
|
```ruby
|
|
pod 'DailyNotificationPlugin', :path => '../../../ios'
|
|
```
|
|
|
|
**Location:** `test-apps/daily-notification-test/ios/App/Podfile`
|
|
|
|
### Standalone Test App Podfile
|
|
|
|
```ruby
|
|
pod 'DailyNotificationPlugin', :path => '../../../ios'
|
|
```
|
|
|
|
**Location:** `test-apps/ios-test-app/App/Podfile`
|
|
|
|
### Standalone Test App Capacitor Config
|
|
|
|
```json
|
|
{
|
|
"appId": "com.timesafari.dailynotification",
|
|
"appName": "DailyNotification Test App",
|
|
"webDir": "public",
|
|
"plugins": {
|
|
"DailyNotification": {
|
|
"debugMode": true,
|
|
"enableNotifications": true
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
**Location:** `test-apps/ios-test-app/App/capacitor.config.json`
|
|
|
|
## Next Steps (Manual)
|
|
|
|
### For Vue 3 Test App
|
|
|
|
1. **Install CocoaPods dependencies:**
|
|
```bash
|
|
cd test-apps/daily-notification-test/ios/App
|
|
pod install
|
|
```
|
|
|
|
2. **Build web assets:**
|
|
```bash
|
|
cd test-apps/daily-notification-test
|
|
npm install # If not already done
|
|
npm run build
|
|
```
|
|
|
|
3. **Sync with iOS:**
|
|
```bash
|
|
npx cap sync ios
|
|
```
|
|
|
|
4. **Build and run:**
|
|
```bash
|
|
npx cap run ios
|
|
# Or use build script:
|
|
./scripts/build-and-deploy-ios.sh
|
|
```
|
|
|
|
### For Standalone iOS Test App
|
|
|
|
1. **Install CocoaPods dependencies:**
|
|
```bash
|
|
cd test-apps/ios-test-app/App
|
|
pod install
|
|
```
|
|
|
|
2. **Open in Xcode:**
|
|
```bash
|
|
open App.xcworkspace
|
|
```
|
|
|
|
3. **Build and run:**
|
|
- Select target device/simulator
|
|
- Build and run (⌘R)
|
|
|
|
4. **Or use build script:**
|
|
```bash
|
|
cd test-apps/ios-test-app
|
|
./scripts/build-and-deploy.sh
|
|
```
|
|
|
|
## Verification Checklist
|
|
|
|
### Vue 3 Test App
|
|
- [x] iOS platform added via `npx cap add ios`
|
|
- [x] Podfile created with plugin dependency
|
|
- [x] Plugin path correctly configured
|
|
- [ ] CocoaPods dependencies installed (`pod install`)
|
|
- [ ] Web assets built (`npm run build`)
|
|
- [ ] Capacitor sync completed (`npx cap sync ios`)
|
|
- [ ] App builds successfully in Xcode
|
|
|
|
### Standalone iOS Test App
|
|
- [x] Structure created from `ios/App`
|
|
- [x] Capacitor config created
|
|
- [x] Podfile created with plugin dependency
|
|
- [x] Test HTML interface copied
|
|
- [ ] CocoaPods dependencies installed (`pod install`)
|
|
- [ ] Xcode workspace created
|
|
- [ ] App builds successfully in Xcode
|
|
|
|
## Troubleshooting
|
|
|
|
### CocoaPods Not Found
|
|
|
|
```bash
|
|
gem install cocoapods
|
|
```
|
|
|
|
### Plugin Not Found During pod install
|
|
|
|
1. Verify plugin is built:
|
|
```bash
|
|
./scripts/build-native.sh --platform ios
|
|
```
|
|
|
|
2. Check plugin path in Podfile is correct
|
|
|
|
3. Verify `ios/DailyNotificationPlugin.podspec` exists
|
|
|
|
### Build Errors
|
|
|
|
1. Clean build folder in Xcode (⌘⇧K)
|
|
2. Delete derived data: `rm -rf ~/Library/Developer/Xcode/DerivedData`
|
|
3. Reinstall pods: `pod deintegrate && pod install`
|
|
|
|
## Files Modified/Created
|
|
|
|
### New Files
|
|
- `test-apps/daily-notification-test/ios/` - Entire iOS directory (generated by Capacitor)
|
|
- `test-apps/ios-test-app/App/capacitor.config.json` - Capacitor configuration
|
|
- `test-apps/ios-test-app/App/Podfile` - CocoaPods dependencies
|
|
- `test-apps/ios-test-app/App/App/public/index.html` - Test interface
|
|
|
|
### Modified Files
|
|
- `test-apps/daily-notification-test/ios/App/Podfile` - Added plugin dependency
|
|
|
|
## Status
|
|
|
|
✅ **All command-line setup complete**
|
|
🟡 **Ready for CocoaPods installation**
|
|
🟡 **Ready for Xcode building**
|
|
|
|
Both iOS test apps are now fully configured and ready for the next steps (CocoaPods installation and Xcode building).
|
|
|