#!/bin/bash # archive.sh - Create Xcode archive # Usage: ./archive.sh [Debug|Release] [ArchiveName] set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_DIR="$SCRIPT_DIR/MovieMapper-iOS" SCHEME="MovieMapper-iOS" # Default values BUILD_CONFIG="${1:-Release}" ARCHIVE_NAME="${2:-MovieMapper-iOS}" # Validate configuration if [[ "$BUILD_CONFIG" != "Debug" && "$BUILD_CONFIG" != "Release" ]]; then echo "Error: Build configuration must be 'Debug' or 'Release'" exit 1 fi # Set archive output directory ARCHIVE_DIR="$SCRIPT_DIR/archives" mkdir -p "$ARCHIVE_DIR" echo "=== MovieMapper iOS Archive Script ===" echo "Configuration: $BUILD_CONFIG" echo "Archive Name: $ARCHIVE_NAME" echo "Output Directory: $ARCHIVE_DIR" echo "" cd "$PROJECT_DIR" # Build archive xcodebuild -scheme "$SCHEME" \ -configuration "$BUILD_CONFIG" \ -sdk iphoneos \ -archivePath "$ARCHIVE_DIR/$ARCHIVE_NAME.xcarchive" \ archive echo "" echo "✓ Archive created: $ARCHIVE_DIR/$ARCHIVE_NAME.xcarchive" echo "" echo "Available archives:" ls -lh "$ARCHIVE_DIR"/*.xcarchive 2>/dev/null || echo "No archives found"