71 lines
1.9 KiB
Bash
Executable File
71 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
# iOS Simulator Deploy Script
|
|
# Boots simulator, installs app, and launches it
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
|
|
|
APP_NAME="Aspen"
|
|
BUNDLE_ID="G872CZV7WG.aspen"
|
|
TARGET="aarch64-apple-ios-sim"
|
|
BUILD_MODE="release"
|
|
|
|
APP_BUNDLE="$PROJECT_ROOT/target/$TARGET/$BUILD_MODE/$APP_NAME.app"
|
|
|
|
# Default to iPad Pro 12.9-inch M2 (matches user's physical device)
|
|
DEVICE_NAME="${1:-iPad Pro 12.9-inch M2}"
|
|
|
|
echo "📱 Deploying to iOS Simulator..."
|
|
echo "Device: $DEVICE_NAME"
|
|
echo "Bundle: $APP_BUNDLE"
|
|
|
|
# Check if bundle exists
|
|
if [ ! -d "$APP_BUNDLE" ]; then
|
|
echo "❌ App bundle not found! Run package-app.sh first."
|
|
exit 1
|
|
fi
|
|
|
|
# Get device UUID
|
|
echo "🔍 Finding device UUID..."
|
|
DEVICE_UUID=$(xcrun simctl list devices | grep "$DEVICE_NAME" | grep -v "unavailable" | head -1 | sed -E 's/.*\(([0-9A-F-]+)\).*/\1/')
|
|
|
|
if [ -z "$DEVICE_UUID" ]; then
|
|
echo "❌ Device '$DEVICE_NAME' not found or unavailable."
|
|
echo ""
|
|
echo "Available devices:"
|
|
xcrun simctl list devices | grep -i ipad | grep -v unavailable
|
|
exit 1
|
|
fi
|
|
|
|
echo "✅ Found device: $DEVICE_UUID"
|
|
|
|
# Boot device if not already booted
|
|
echo "🚀 Booting simulator..."
|
|
xcrun simctl boot "$DEVICE_UUID" 2>/dev/null || true
|
|
|
|
# Wait a moment for boot
|
|
sleep 2
|
|
|
|
# Open Simulator.app
|
|
echo "📱 Opening Simulator.app..."
|
|
open -a Simulator
|
|
|
|
# Uninstall old version if it exists
|
|
echo "🗑️ Uninstalling old version..."
|
|
xcrun simctl uninstall "$DEVICE_UUID" "$BUNDLE_ID" 2>/dev/null || true
|
|
|
|
# Install the app
|
|
echo "📲 Installing app..."
|
|
xcrun simctl install "$DEVICE_UUID" "$APP_BUNDLE"
|
|
|
|
# Launch the app
|
|
echo "🚀 Launching app..."
|
|
xcrun simctl launch --console "$DEVICE_UUID" "$BUNDLE_ID"
|
|
|
|
echo "✅ App deployed and launched!"
|
|
echo ""
|
|
echo "To view logs:"
|
|
echo " xcrun simctl spawn $DEVICE_UUID log stream --predicate 'processImagePath contains \"$APP_NAME\"'"
|