theme and scripts

This commit is contained in:
Harivansh Rathi 2026-03-20 14:22:40 -04:00
parent deade2bafb
commit 7ae7c1ceec
17 changed files with 575 additions and 270 deletions

51
scripts/iosrun.sh Normal file
View file

@ -0,0 +1,51 @@
project=$(find . -maxdepth 1 -name "*.xcodeproj" | head -1)
scheme=$(basename "$project" .xcodeproj)
derived=".derived-data"
sim_name="${1:-iPhone 16e}"
if [[ -z "$project" ]]; then
echo "No .xcodeproj found in current directory"
exit 1
fi
echo "Building $scheme..."
if ! xcodebuild -project "$project" -scheme "$scheme" \
-destination "platform=iOS Simulator,name=$sim_name" \
-derivedDataPath "$derived" build -quiet; then
echo "Build failed"
exit 1
fi
echo "Build succeeded. Launching simulator..."
xcrun simctl boot "$sim_name" 2>/dev/null || true
open -a Simulator
app_path="$derived/Build/Products/Debug-iphonesimulator/$scheme.app"
bundle_id=$(/usr/libexec/PlistBuddy -c "Print :CFBundleIdentifier" "$app_path/Info.plist")
echo "Installing $scheme..."
while ! xcrun simctl install "$sim_name" "$app_path" 2>/dev/null; do
sleep 0.5
done
echo "Launching $bundle_id..."
while ! xcrun simctl launch "$sim_name" "$bundle_id" 2>&1 | grep -q "$bundle_id"; do
sleep 0.5
done
echo "Launched $bundle_id - streaming logs (Ctrl+C to stop)"
echo "----------------------------------------"
xcrun simctl spawn "$sim_name" log stream \
--predicate "(subsystem CONTAINS '$bundle_id' OR process == '$scheme') AND NOT subsystem BEGINSWITH 'com.apple'" \
--style compact \
--color always 2>/dev/null | while read -r line; do
if [[ "$line" == *"error"* ]] || [[ "$line" == *"Error"* ]]; then
printf '\033[31m%s\033[0m\n' "$line"
elif [[ "$line" == *"warning"* ]] || [[ "$line" == *"Warning"* ]]; then
printf '\033[33m%s\033[0m\n' "$line"
else
echo "$line"
fi
done