#!/bin/bash # 基本配置 SCHEMENAME="HBuilder" DATE=$(date +%Y%m%d_%H%M) WORKSPACE_PATH="$(pwd)/YOLiveSport.xcworkspace" BUILD_DIR="build-$(date +%Y%m%d)" # 自动生成 build-日期 目录 DERIVED_DATA_PATH="$(pwd)/$BUILD_DIR/DerivedData" EXPORT_PATH="$(pwd)/$BUILD_DIR/buildTemp" EXPORT_OPTIONS_PLIST="$(pwd)/ExportOptions.plist" IPANAME="${SCHEMENAME}_${DATE}.ipa" # 创建新目录 mkdir -p "$DERIVED_DATA_PATH" mkdir -p "$EXPORT_PATH" # 清理项目 xcodebuild \ -workspace "$WORKSPACE_PATH" \ -scheme "$SCHEMENAME" \ -configuration Release \ clean if [ $? -ne 0 ]; then echo "error: Clean failed!" exit 1 fi # 构建项目 xcodebuild \ -workspace "$WORKSPACE_PATH" \ -scheme "$SCHEMENAME" \ -configuration Release \ -destination "generic/platform=iOS" \ -archivePath "$EXPORT_PATH/${SCHEMENAME}.xcarchive" \ -derivedDataPath "$DERIVED_DATA_PATH" \ ARCHS=arm64 \ archive if [ $? -ne 0 ]; then echo "error: Archive failed!" exit 1 fi # 导出 IPA 文件 xcodebuild \ -exportArchive \ -archivePath "$EXPORT_PATH/${SCHEMENAME}.xcarchive" \ -exportPath "$EXPORT_PATH" \ -exportOptionsPlist "$EXPORT_OPTIONS_PLIST" if [ $? -ne 0 ]; then echo "error: Export failed!" exit 1 fi # 检查 IPA 文件 IPA_FILE=$(find "$EXPORT_PATH" -name "*.ipa" | head -n 1) if [ -f "$IPA_FILE" ]; then mv "$IPA_FILE" "$EXPORT_PATH/$IPANAME" echo "---------------------------------------------------------------" echo "Configurations! Build Successful!" echo "IPA file: $EXPORT_PATH/$IPANAME" echo "---------------------------------------------------------------" open "$EXPORT_PATH" else echo "---------------------------------------------------------------" echo "error: Create IPA failed!!" echo "---------------------------------------------------------------" exit 1 fi