diff --git a/desktop/scripts/build-macos-arm64.sh b/desktop/scripts/build-macos-arm64.sh index eaac4ccb..c471a6c1 100755 --- a/desktop/scripts/build-macos-arm64.sh +++ b/desktop/scripts/build-macos-arm64.sh @@ -187,8 +187,12 @@ build_canonical_dmg() { | grep -E '^/dev/' | head -1 | awk '{print $1}') mount_dir=$(hdiutil info | grep -E "${dev_name}" | tail -1 | awk '{$1=$2=""; print}' | xargs) - # Use AppleScript to set icon positions and window size - osascript <&2 + fi sync - hdiutil detach "${dev_name}" -quiet + # osascript 可能已经让 Finder 打开了 volume 窗口,正常 detach 可能因为 + # "Resource busy" 失败。失败时用 -force 二次尝试。 + hdiutil detach "${dev_name}" -quiet 2>/dev/null \ + || hdiutil detach "${dev_name}" -force -quiet # Convert to compressed read-only DMG hdiutil convert "${rw_dmg}" -format UDZO -o "${dmg_output}" -ov >/dev/null