autoPack.sh 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #!/bin/bash
  2. # 基本配置
  3. SCHEMENAME="HBuilder"
  4. DATE=$(date +%Y%m%d_%H%M)
  5. WORKSPACE_PATH="$(pwd)/YOLiveSport.xcworkspace"
  6. BUILD_DIR="build-$(date +%Y%m%d)" # 自动生成 build-日期 目录
  7. DERIVED_DATA_PATH="$(pwd)/$BUILD_DIR/DerivedData"
  8. EXPORT_PATH="$(pwd)/$BUILD_DIR/buildTemp"
  9. EXPORT_OPTIONS_PLIST="$(pwd)/ExportOptions.plist"
  10. IPANAME="${SCHEMENAME}_${DATE}.ipa"
  11. # 创建新目录
  12. mkdir -p "$DERIVED_DATA_PATH"
  13. mkdir -p "$EXPORT_PATH"
  14. # 清理项目
  15. xcodebuild \
  16. -workspace "$WORKSPACE_PATH" \
  17. -scheme "$SCHEMENAME" \
  18. -configuration Release \
  19. clean
  20. if [ $? -ne 0 ]; then
  21. echo "error: Clean failed!"
  22. exit 1
  23. fi
  24. # 构建项目
  25. xcodebuild \
  26. -workspace "$WORKSPACE_PATH" \
  27. -scheme "$SCHEMENAME" \
  28. -configuration Release \
  29. -destination "generic/platform=iOS" \
  30. -archivePath "$EXPORT_PATH/${SCHEMENAME}.xcarchive" \
  31. -derivedDataPath "$DERIVED_DATA_PATH" \
  32. ARCHS=arm64 \
  33. archive
  34. if [ $? -ne 0 ]; then
  35. echo "error: Archive failed!"
  36. exit 1
  37. fi
  38. # 导出 IPA 文件
  39. xcodebuild \
  40. -exportArchive \
  41. -archivePath "$EXPORT_PATH/${SCHEMENAME}.xcarchive" \
  42. -exportPath "$EXPORT_PATH" \
  43. -exportOptionsPlist "$EXPORT_OPTIONS_PLIST"
  44. if [ $? -ne 0 ]; then
  45. echo "error: Export failed!"
  46. exit 1
  47. fi
  48. # 检查 IPA 文件
  49. IPA_FILE=$(find "$EXPORT_PATH" -name "*.ipa" | head -n 1)
  50. if [ -f "$IPA_FILE" ]; then
  51. mv "$IPA_FILE" "$EXPORT_PATH/$IPANAME"
  52. echo "---------------------------------------------------------------"
  53. echo "Configurations! Build Successful!"
  54. echo "IPA file: $EXPORT_PATH/$IPANAME"
  55. echo "---------------------------------------------------------------"
  56. open "$EXPORT_PATH"
  57. else
  58. echo "---------------------------------------------------------------"
  59. echo "error: Create IPA failed!!"
  60. echo "---------------------------------------------------------------"
  61. exit 1
  62. fi