Commit Graph

6 Commits

Author SHA1 Message Date
Matthew Raymer
9d6d979d83 fix(ios): ensure Simulator window is always visible after boot
Fixed build script to always open Simulator app window:

Simulator Visibility:
- Always opens Simulator app window after booting
- Ensures window is visible even if simulator was already booted
- Provides visual feedback that simulator is running

Boot Flow:
- If already booted: opens Simulator window immediately
- If booting: boots device, then opens Simulator window
- If boot fails: opens Simulator app for manual selection

Fixes:
- Simulator window now always appears after build
- User can see simulator even if it was already running
- Better visual feedback during build process

Result: Simulator window is now always visible after build completes
2025-11-11 20:02:06 -08:00
Matthew Raymer
ceb81a6be1 fix(ios): improve simulator boot detection and error handling
Enhanced simulator boot logic for better reliability:

Boot Detection:
- More robust check for already-booted simulators
- Uses grep with case-insensitive matching
- Verifies boot status after manual Simulator app opening

Error Handling:
- Shows actual boot command output (removed 2>/dev/null)
- Adds 3-second wait after successful boot for initialization
- Verifies boot status after opening Simulator app manually
- Continues with build even if boot verification fails

Fixes:
- Simulator boot detection now works correctly
- Better error messages when boot fails
- Handles edge cases where simulator is already booted

Result: Build script now reliably detects and boots simulators
2025-11-11 19:59:38 -08:00
Matthew Raymer
b45ac46b98 fix(ios): correct simulator name extraction in build script
Fixed simulator auto-detection to extract device name correctly:

Simulator Detection:
- Fixed sed command to extract device name (not UUID)
- Pattern: extracts text before first parenthesis
- Handles whitespace correctly with xargs

Example:
- Input: '    iPhone 17 Pro (UUID) (Status)'
- Output: 'iPhone 17 Pro'

Result: Build script now correctly detects and uses available iPhone simulators
2025-11-11 19:47:12 -08:00
Matthew Raymer
a6b48013ab fix(ios): auto-detect available iPhone simulator for builds
Fixed build script to automatically detect and use available simulators:

Simulator Detection:
- Auto-detects first available iPhone simulator if none specified
- Falls back to generic destination if no iPhones found
- Lists available devices in error messages

Build Destination:
- Uses specific device name when available
- Falls back to generic destination for compatibility
- Handles both named devices and generic destinations

Fixes:
- No longer hardcodes 'iPhone 15 Pro' (which may not exist)
- Works with any available iPhone simulator
- Better error messages showing available devices

Usage:
- ./scripts/build-and-deploy.sh              # Auto-detect
- ./scripts/build-and-deploy.sh 'iPhone 17'  # Specify device

Result: Build script now works with any available simulator
2025-11-11 19:46:56 -08:00
Matthew Raymer
d7fe746b6b feat(ios): add comprehensive requirements checking and improved CocoaPods detection
Enhanced iOS test app setup with better prerequisite handling:

Requirements Checker:
- Created check-requirements.sh script
- Verifies all prerequisites (macOS, Xcode, Ruby, CocoaPods, Node.js)
- Checks Ruby version (requires 3.1+)
- Detects CocoaPods in multiple locations (PATH, rbenv, gem bin)
- Validates UTF-8 encoding
- Provides installation instructions for missing items

Build Script Improvements:
- Enhanced CocoaPods detection (checks PATH, rbenv, gem bin)
- Better error messages with installation options
- Automatic LANG=en_US.UTF-8 export
- Uses detected pod command location

Documentation Updates:
- Expanded prerequisites section with versions
- Added rbenv recommendation
- Added quick requirements check step
- Clearer installation instructions

Fixes:
- Handles rbenv-based CocoaPods installation
- Works with system Ruby, rbenv, or Homebrew
- Provides helpful error messages

Result: Developers can easily verify and install all requirements
2025-11-11 19:36:47 -08:00
Matthew Raymer
a166f3be9a 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.
2025-11-11 01:30:31 -08:00