48 lines
1.4 KiB
Bash
Executable File
48 lines
1.4 KiB
Bash
Executable File
#!/bin/zsh
|
|
set -e # Exit immediately if any command fails
|
|
|
|
# --- Configuration ---
|
|
SCHEME="FlipTalk"
|
|
BUNDLE_ID="com.jaredlog.Flip-Talk"
|
|
DEVICE_NAME="iPhone 17 Pro"
|
|
BUILD_PATH="./build" # This ensures Predictable Paths
|
|
|
|
echo "🚀 Starting Build for $DEVICE_NAME..."
|
|
|
|
# 1. Boot the simulator if it isn't already running
|
|
# We use 'grep' to check status so we don't try to boot an active device
|
|
if ! xcrun simctl list devices | grep "$DEVICE_NAME" | grep -q "(Booted)"; then
|
|
echo "⚙️ Booting Simulator..."
|
|
xcrun simctl boot "$DEVICE_NAME"
|
|
fi
|
|
open -a Simulator
|
|
|
|
# 2. Build the App
|
|
# We use 'env -u' to hide your Homebrew variables (CC, CXX) from Xcode
|
|
# We use '-derivedDataPath' to force the build into the local ./build folder
|
|
echo "🔨 Compiling..."
|
|
env -u CC -u CXX -u LIBCLANG_PATH xcodebuild \
|
|
-scheme "$SCHEME" \
|
|
-destination "platform=iOS Simulator,name=$DEVICE_NAME" \
|
|
-configuration Debug \
|
|
-derivedDataPath "$BUILD_PATH" \
|
|
clean build | xcbeautify
|
|
|
|
# 3. Locate the .app bundle
|
|
# Since we used -derivedDataPath, we know EXACTLY where this is.
|
|
APP_PATH="$BUILD_PATH/Build/Products/Debug-iphonesimulator/$SCHEME.app"
|
|
|
|
if [ ! -d "$APP_PATH" ]; then
|
|
echo "❌ Error: App bundle not found at $APP_PATH"
|
|
exit 1
|
|
fi
|
|
|
|
# 4. Install and Launch
|
|
echo "📲 Installing..."
|
|
xcrun simctl install "$DEVICE_NAME" "$APP_PATH"
|
|
|
|
echo "▶️ Launching $BUNDLE_ID..."
|
|
xcrun simctl launch "$DEVICE_NAME" "$BUNDLE_ID"
|
|
|
|
echo "✅ Done!"
|