#!/bin/bash # 填写你的参数 KEY_ID="X0R2V2N9G2XP" ISSUER_ID="69a6de7f-3378-47e3-e053-5b8c7c11a4d1" P8_FILE_PATH="/Users/jlbank/private_keys/AuthKey_X0R2V2N9G2XP.p8" # 替换为你的.p8文件路径 IPA_PATH="/Users/jlbank/Desktop/lx_uniapp/tar-app-ios/HBuilder-Hello/build/ipa_production/HBuilder.ipa" # 替换为你的IPA路径 PRIVATE_KEYS_DIR="$HOME/private_keys" # 步骤1:检查.p8文件是否存在 if [ ! -f "$P8_FILE_PATH" ]; then echo "❌ 错误:.p8文件不存在,请检查路径:$P8_FILE_PATH" exit 1 fi # 步骤2:确保私钥目录存在并复制文件 mkdir -p "$PRIVATE_KEYS_DIR" cp "$P8_FILE_PATH" "$PRIVATE_KEYS_DIR/AuthKey_$KEY_ID.p8" # 步骤3:验证文件名是否正确(必须是AuthKey_.p8) if [ ! -f "$PRIVATE_KEYS_DIR/AuthKey_$KEY_ID.p8" ]; then echo "❌ 错误:私钥文件命名不正确,应为 AuthKey_$KEY_ID.p8" exit 1 fi # 步骤4:设置正确权限 chmod 644 "$PRIVATE_KEYS_DIR/AuthKey_$KEY_ID.p8" # 步骤5:执行验证命令 echo "🔍 开始用API密钥验证..." xcrun altool --validate-app \ --type ios \ --file "$IPA_PATH" \ --apiKey "$KEY_ID" \ --apiIssuer "$ISSUER_ID" # 步骤6:检查结果 if [ $? -eq 0 ]; then echo "✅ API密钥验证成功!可以使用以下命令上传:" echo "xcrun altool --upload-app --type ios --file \"$IPA_PATH\" --apiKey \"$KEY_ID\" --apiIssuer \"$ISSUER_ID\"" else echo "❌ API密钥验证失败,请按以下步骤排查:" echo "1. 确认API密钥权限为'App Manager'(在App Store Connect中检查)" echo "2. 确认颁发者ID与密钥属于同一团队" echo "3. 重新下载.p8文件并重复上述步骤" exit 1 fi