使用Mac的notarytool公证时如何提取UUID格式的Submission ID
提取notarytool提交返回的UUID格式Submission ID
你可以通过文本匹配的方式从提交命令的输出中提取UUID格式的Submission ID,以下是两种可靠的实现方式:
方法一:提交时直接提取UUID
修改你的提交命令,在输出管道中用正则匹配UUID格式,直接得到纯Submission ID:
submission_id=$(xcrun notarytool submit --apple-id "${APPLE_ID}" --team-id "${TEAM_ID}" --password "${APP_PASSWORD}" "${dmgFile}" 2>&1 | grep -oE '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}' | head -n 1)
grep -oE:只输出匹配正则表达式的部分,正则对应UUID的标准格式(8-4-4-4-12位十六进制字符)head -n 1:确保只取第一个匹配结果(输出中会重复出现两次相同的UUID)
方法二:事后从已获取的日志中提取
如果已经保存了包含完整日志的submission_id变量,可通过以下命令提取纯UUID:
pure_submission_id=$(echo "${submission_id}" | grep -oE '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}' | head -n 1)
之后使用${pure_submission_id}执行notarytool info命令即可:
status=$(xcrun notarytool info "${pure_submission_id}" --apple-id "${APPLE_ID}" --password "${APP_PASSWORD}" 2>&1)
内容的提问来源于stack exchange,提问作者slow_learner
相关产品推荐
相关产品推荐

