mcpField
A
asc-screenshot-resize

asc-screenshot-resize

github.com/rorkai设计与 UI1.1k5.1k 次安装2 天前更新
代码仓库

关于 asc-screenshot-resize

此技能使用 asc CLI 和图像工具准备 App Store Connect 截图,涵盖查询尺寸要求、清理和调整图像、验证输出,并在验证后上传。

主要功能

  1. 01查询受支持的截图尺寸
  2. 02检查图像尺寸和元数据
  3. 03移除透明通道并调整图像尺寸
  4. 04上传前验证截图
  5. 05处理时保留原始文件

适用场景

  1. 01准备提交用的 iPhone 或 iPad 截图
  2. 02将图像调整为指定设备尺寸
  3. 03上传前检查截图文件

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/rorkai/app-store-connect-cli-skills --skill asc-screenshot-resize

安装后在 Claude Code 中输入/asc-screenshot-resize确认已加载。

详细介绍

asc 截图调整尺寸

使用此技能为 App Store Connect 准备截图。不要在此技能中依赖硬编码的尺寸表;当前尺寸矩阵由 CLI 提供。

信息来源

始终先通过 asc 查询当前接受的尺寸:

asc screenshots sizes --output table
asc screenshots sizes --all --output table

上传前进行本地验证:

asc screenshots validate --path "./screenshots/iphone" --device-type "IPHONE_65" --output table
asc screenshots validate --path "./screenshots/ipad" --device-type "IPAD_PRO_3GEN_129" --output table

常见设备类型参考:

  • IPHONE_65 对应常见的 6.5 英寸 iPhone 截图集。
  • IPAD_PRO_3GEN_129 对应常见的 12.9/13 英寸 iPad 截图集。

如果目标是其他显示类型,例如 6.9 英寸 iPhone、Apple TV、Mac、Vision Pro、iMessage 或 Watch,请运行 asc screenshots sizes --all。

工作流

1. 清理文件名

macOS 截图中可能含有不可见的 Unicode 空格,导致工具报错“不是有效文件”。批量处理前请先清理:

python3 -c "
import os
for f in os.listdir('.'):
    clean = f.replace('\u202f', ' ')
    if f != clean:
        os.rename(f, clean)
        print(f'Renamed: {clean}')
"
2. 检查尺寸和元数据
sips -g pixelWidth -g pixelHeight screenshot.png
sips -g hasAlpha -g space screenshot.png

App Store Connect 会拒绝带有 Alpha 透明度的截图。通过转换为 JPEG 再转回的方式移除 Alpha:

sips -s format jpeg input.png --out /tmp/asc-screenshot-no-alpha.jpg
sips -s format png /tmp/asc-screenshot-no-alpha.jpg --out output.png
rm /tmp/asc-screenshot-no-alpha.jpg

批量移除 PNG 的 Alpha:

for f in *.png; do
  if sips -g hasAlpha "$f" | grep -q "yes"; then
    sips -s format jpeg "$f" --out /tmp/asc-screenshot-no-alpha.jpg
    sips -s format png /tmp/asc-screenshot-no-alpha.jpg --out "$f"
    rm /tmp/asc-screenshot-no-alpha.jpg
    echo "Stripped alpha: $f"
  fi
done
3. 先从 asc 选择目标尺寸,再调整大小

从 asc screenshots sizes --all 中选择宽度和高度。sips -z 的参数顺序是先高度、后宽度:

# Example: portrait IPHONE_65 1284 x 2778
sips -z 2778 1284 input.png --out output.png

批量调整为选定的目标尺寸:

mkdir -p resized
for f in *.png; do
  sips -z 2778 1284 "$f" --out "resized/$f"
done
4. 使用 asc 验证输出
sips -g pixelWidth -g pixelHeight -g hasAlpha resized/*.png
asc screenshots validate --path "./resized" --device-type "IPHONE_65" --output table
5. 验证通过后再上传
asc screenshots upload --version-localization "LOC_ID" --path "./resized" --device-type "IPHONE_65" --dry-run --output table
asc screenshots upload --version-localization "LOC_ID" --path "./resized" --device-type "IPHONE_65"

注意事项

  • 以 asc screenshots sizes --all 为准;Apple 的尺寸要求会变化。
  • 除非用户接受视觉效果上的取舍,否则不要将截图拉伸为不兼容的宽高比。
  • 始终输出到单独的文件或目录,以保留原始文件。
  • 截图必须为 PNG 或 JPEG 格式,且不得包含 Alpha 透明度。
  • 必要时将 Display P3 或其他色彩空间转换为 sRGB:
sips -m "/System/Library/ColorSync/Profiles/sRGB IEC61966-2.1.icc" input.png --out output.png
  • 上传前优先使用 asc screenshots validate,而非目视检查。

评论

支持 Markdown