102 lines
2.5 KiB
Bash
Executable File
102 lines
2.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# 异步公证脚本 - 不等待结果
|
|
|
|
set -e
|
|
|
|
# 配置变量
|
|
APPLE_ID="xxxxxxxx@example.com"
|
|
PASSWORD="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
|
TEAM_ID="XXXXXXXXXX"
|
|
ZIP_FILE="build/macos/Build/Products/Release/BearVPN-1.0.0.zip"
|
|
|
|
# 颜色输出
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
BLUE='\033[0;34m'
|
|
NC='\033[0m'
|
|
|
|
log_info() {
|
|
echo -e "${BLUE}[INFO]${NC} $1"
|
|
}
|
|
|
|
log_success() {
|
|
echo -e "${GREEN}[SUCCESS]${NC} $1"
|
|
}
|
|
|
|
log_warning() {
|
|
echo -e "${YELLOW}[WARNING]${NC} $1"
|
|
}
|
|
|
|
log_error() {
|
|
echo -e "${RED}[ERROR]${NC} $1"
|
|
}
|
|
|
|
# 检查文件
|
|
check_file() {
|
|
if [ ! -f "$ZIP_FILE" ]; then
|
|
log_error "ZIP 文件不存在: $ZIP_FILE"
|
|
exit 1
|
|
fi
|
|
log_success "找到文件: $ZIP_FILE"
|
|
}
|
|
|
|
# 异步提交公证
|
|
submit_async() {
|
|
log_info "开始异步提交公证..."
|
|
|
|
# 提交但不等待结果
|
|
SUBMISSION_ID=$(xcrun notarytool submit "$ZIP_FILE" \
|
|
--apple-id "$APPLE_ID" \
|
|
--password "$PASSWORD" \
|
|
--team-id "$TEAM_ID" \
|
|
--output-format json | jq -r '.id')
|
|
|
|
if [ -z "$SUBMISSION_ID" ] || [ "$SUBMISSION_ID" = "null" ]; then
|
|
log_error "提交失败,无法获取提交 ID"
|
|
exit 1
|
|
fi
|
|
|
|
log_success "提交成功!"
|
|
log_info "提交 ID: $SUBMISSION_ID"
|
|
|
|
# 保存提交 ID 到文件
|
|
echo "$SUBMISSION_ID" > .notarization_id
|
|
echo "$(date)" > .notarization_time
|
|
|
|
log_info "提交 ID 已保存到 .notarization_id"
|
|
log_warning "请稍后使用 ./check_notarization_status.sh 检查状态"
|
|
}
|
|
|
|
# 显示后续操作
|
|
show_next_steps() {
|
|
log_success "=========================================="
|
|
log_success "异步提交完成!"
|
|
log_success "=========================================="
|
|
log_info "提交 ID: $SUBMISSION_ID"
|
|
log_info "提交时间: $(date)"
|
|
log_success "=========================================="
|
|
log_info "后续操作:"
|
|
log_info "1. 检查状态: ./check_notarization_status.sh info $SUBMISSION_ID"
|
|
log_info "2. 查看历史: ./check_notarization_status.sh history"
|
|
log_info "3. 实时监控: ./check_notarization_status.sh monitor"
|
|
log_info "4. 完成后装订: xcrun stapler staple BearVPN-1.0.0-macOS-Signed.dmg"
|
|
log_success "=========================================="
|
|
}
|
|
|
|
# 主函数
|
|
main() {
|
|
log_info "开始异步公证提交..."
|
|
log_info "=========================================="
|
|
|
|
check_file
|
|
submit_async
|
|
show_next_steps
|
|
|
|
log_success "提交完成,您可以继续其他工作!"
|
|
}
|
|
|
|
# 运行主函数
|
|
main "$@"
|