VideoConcat/wails/build/ios/build.sh
2026-01-07 17:59:30 +08:00

72 lines
1.6 KiB
Bash

#!/bin/bash
set -e
# Build configuration
APP_NAME="videoconcat"
BUNDLE_ID="com.example.videoconcat"
VERSION="0.1.0"
BUILD_NUMBER="0.1.0"
BUILD_DIR="build/ios"
TARGET="simulator"
echo "Building iOS app: $APP_NAME"
echo "Bundle ID: $BUNDLE_ID"
echo "Version: $VERSION ($BUILD_NUMBER)"
echo "Target: $TARGET"
# Ensure build directory exists
mkdir -p "$BUILD_DIR"
# Determine SDK and target architecture
if [ "$TARGET" = "simulator" ]; then
SDK="iphonesimulator"
ARCH="arm64-apple-ios15.0-simulator"
elif [ "$TARGET" = "device" ]; then
SDK="iphoneos"
ARCH="arm64-apple-ios15.0"
else
echo "Unknown target: $TARGET"
exit 1
fi
# Get SDK path
SDK_PATH=$(xcrun --sdk $SDK --show-sdk-path)
# Compile the application
echo "Compiling with SDK: $SDK"
xcrun -sdk $SDK clang \
-target $ARCH \
-isysroot "$SDK_PATH" \
-framework Foundation \
-framework UIKit \
-framework WebKit \
-framework CoreGraphics \
-o "$BUILD_DIR/$APP_NAME" \
"$BUILD_DIR/main.m"
# Create app bundle
echo "Creating app bundle..."
APP_BUNDLE="$BUILD_DIR/$APP_NAME.app"
rm -rf "$APP_BUNDLE"
mkdir -p "$APP_BUNDLE"
# Move executable
mv "$BUILD_DIR/$APP_NAME" "$APP_BUNDLE/"
# Copy Info.plist
cp "$BUILD_DIR/Info.plist" "$APP_BUNDLE/"
# Sign the app
echo "Signing app..."
codesign --force --sign - "$APP_BUNDLE"
echo "Build complete: $APP_BUNDLE"
# Deploy to simulator if requested
if [ "$TARGET" = "simulator" ]; then
echo "Deploying to simulator..."
xcrun simctl terminate booted "$BUNDLE_ID" 2>/dev/null || true
xcrun simctl install booted "$APP_BUNDLE"
xcrun simctl launch booted "$BUNDLE_ID"
echo "App launched on simulator"
fi