<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>截图 on Liangweidong's blog</title><link>https://liangweidonggood.github.io/tags/%E6%88%AA%E5%9B%BE/</link><description>Recent content in 截图 on Liangweidong's blog</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Fri, 15 Nov 2019 00:00:00 +0800</lastBuildDate><atom:link href="https://liangweidonggood.github.io/tags/%E6%88%AA%E5%9B%BE/index.xml" rel="self" type="application/rss+xml"/><item><title>iOS App Store 上架：截图、构建、审核与发布完整流程</title><link>https://liangweidonggood.github.io/p/ios-appstore-shang-jia-2019/</link><pubDate>Fri, 15 Nov 2019 00:00:00 +0800</pubDate><guid>https://liangweidonggood.github.io/p/ios-appstore-shang-jia-2019/</guid><description>&lt;img src="https://liangweidonggood.github.io/p/ios-appstore-shang-jia-2019/image/cover.jpg" alt="Featured image of post iOS App Store 上架：截图、构建、审核与发布完整流程" /&gt;&lt;h2 id="完整流程概览"&gt;完整流程概览
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;本地代码
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓ Xcode Archive
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;.xcarchive 文件
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓ Export
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;.ipa 文件
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓ Transporter 上传
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;App Store Connect 后台
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓ 填元数据（截图、描述、关键词）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓ 选构建版本
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓ 提交审核
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓ 审核通过
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;App Store 上架
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="一xcode-archive-打-release-包"&gt;一、Xcode Archive 打 Release 包
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;顶部 Scheme 选择 &lt;strong&gt;Any iOS Device (arm64)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Product → Archive&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;等待打包完成（首次 5&lt;del&gt;10 分钟，后续 1&lt;/del&gt;2 分钟）&lt;/li&gt;
&lt;li&gt;弹出 Organizer 窗口&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="二export-ipa"&gt;二、Export IPA
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;Organizer 中选中刚打的 Archive&lt;/li&gt;
&lt;li&gt;点击 &lt;strong&gt;Distribute App&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;选择分发方式：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;App Store Connect&lt;/strong&gt; → 上架 / TestFlight&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ad Hoc&lt;/strong&gt; → 内测&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Development&lt;/strong&gt; → 真机调试&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Enterprise&lt;/strong&gt; → 企业内部分发&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;选择上传工具：&lt;strong&gt;Xcode&lt;/strong&gt;（直接传）或 &lt;strong&gt;Transporter&lt;/strong&gt;（手动传）&lt;/li&gt;
&lt;li&gt;选择 &lt;strong&gt;Upload&lt;/strong&gt; 勾选 &lt;strong&gt;Include bitcode for iOS content&lt;/strong&gt;（可选）、&lt;strong&gt;Strip Swift symbols&lt;/strong&gt;（建议勾选，减少包大小）&lt;/li&gt;
&lt;li&gt;选证书（Apple Distribution）和 Profile（App Store）&lt;/li&gt;
&lt;li&gt;Export → 选择保存路径 → 得到 &lt;code&gt;.ipa&lt;/code&gt; 文件&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="三transporter-上传"&gt;三、Transporter 上传
&lt;/h2&gt;&lt;p&gt;macOS 用 &lt;strong&gt;Transporter&lt;/strong&gt; App（App Store 下载）：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;打开 Transporter&lt;/li&gt;
&lt;li&gt;登录 Apple ID（开发者账号）&lt;/li&gt;
&lt;li&gt;把 &lt;code&gt;.ipa&lt;/code&gt; 拖入窗口&lt;/li&gt;
&lt;li&gt;点击 &lt;strong&gt;Deliver&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;等待上传完成（5~30 分钟，取决于包大小和网速）&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;上传后 5~30 分钟，App Store Connect 后台会出现构建版本（状态：Processing → Ready to Submit）。&lt;/p&gt;
&lt;h2 id="四app-store-connect-配置"&gt;四、App Store Connect 配置
&lt;/h2&gt;&lt;p&gt;登录 &lt;a class="link" href="https://appstoreconnect.apple.com" target="_blank" rel="noopener"
 &gt;https://appstoreconnect.apple.com&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="创建-app"&gt;创建 App
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;我的 App → &amp;ldquo;+&amp;rdquo; → 新建 App&lt;/li&gt;
&lt;li&gt;填写：
&lt;ul&gt;
&lt;li&gt;平台：iOS&lt;/li&gt;
&lt;li&gt;名称（如 &amp;ldquo;我的App&amp;rdquo;）&lt;/li&gt;
&lt;li&gt;主要语言&lt;/li&gt;
&lt;li&gt;套装 ID：选择之前创建的 App ID&lt;/li&gt;
&lt;li&gt;SKU：唯一标识（如 &amp;ldquo;myapp-001&amp;rdquo;）&lt;/li&gt;
&lt;li&gt;用户访问权限：完全访问&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="元数据"&gt;元数据
&lt;/h3&gt;&lt;h4 id="截图"&gt;截图
&lt;/h4&gt;&lt;p&gt;必须提供 6.5 英寸和 6.7 英寸两套截图（也支持 iPad）：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;设备&lt;/th&gt;
					&lt;th&gt;尺寸（像素）&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;6.5 英寸&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;1242 × 2688 或 2688 × 1242（横屏）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;6.7 英寸&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;1284 × 2778 或 2778 × 1284（横屏）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;5.5 英寸&lt;/strong&gt;（可选）&lt;/td&gt;
					&lt;td&gt;1242 × 2208&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;对应设备举例：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;6.5 英寸：iPhone 11 Pro Max, XS Max&lt;/li&gt;
&lt;li&gt;6.7 英寸：iPhone 12/13/14/15 Pro Max&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;可以上传 3 个 App 预览视频（15~30 秒 MP4/H.264）和最多 10 张截屏。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;截图生成工具&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Figma / Sketch + 设备模板&lt;/li&gt;
&lt;li&gt;官方 &lt;a class="link" href="https://developer.apple.com/design/resources/" target="_blank" rel="noopener"
 &gt;Apple Design Resources&lt;/a&gt; 提供的 Sketch/Figma 模板&lt;/li&gt;
&lt;li&gt;在线工具：Screenshot.rocks、Mockuphone.com&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="应用描述"&gt;应用描述
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;副标题&lt;/strong&gt;（30 字符）：一句话讲清产品&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;宣传文本&lt;/strong&gt;（170 字符）：可以随时改，不用审核&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;描述&lt;/strong&gt;（4000 字符）：详细功能、亮点&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;关键词&lt;/strong&gt;（100 字符）：逗号分隔，影响搜索&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="类别"&gt;类别
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;主要类别（如 工具 / 效率 / 教育）&lt;/li&gt;
&lt;li&gt;次要类别（可选）&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="版权"&gt;版权
&lt;/h4&gt;&lt;p&gt;格式：&lt;code&gt;© 2026 YourName&lt;/code&gt;&lt;/p&gt;
&lt;h2 id="五构建版本"&gt;五、构建版本
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;App Store Connect → App → 活动 → 构建版本&lt;/li&gt;
&lt;li&gt;选择刚上传的构建（&lt;strong&gt;必须先在 Xcode 选 iOS Distribution 证书导出&lt;/strong&gt;）&lt;/li&gt;
&lt;li&gt;填写 &lt;strong&gt;Export Compliance Information&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;是否使用加密（Is your app designed to use cryptography?）→ 一般选 &lt;strong&gt;No&lt;/strong&gt;（除非用了非 HTTPS 加密）&lt;/li&gt;
&lt;li&gt;是否符合美国出口管制豁免（App available on the French App Store?）→ 选 &lt;strong&gt;Yes&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="六版本发布"&gt;六、版本发布
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;版本&lt;/strong&gt;（1.0.0 / 1.0.1）：三位数字，主版本.功能版本.修订版本&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;版权 / 联系方式&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;审核信息&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;演示账号（如果 App 有登录）&lt;/li&gt;
&lt;li&gt;审核备注（说明特殊功能如何测试）&lt;/li&gt;
&lt;li&gt;联系方式（电话 + 邮箱）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;App 审核附件&lt;/strong&gt;（可选）：录屏、额外材料&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="七提交审核"&gt;七、提交审核
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;检查所有必填项（红色感叹号）&lt;/li&gt;
&lt;li&gt;点击右上角 &lt;strong&gt;添加以供审核&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;选刚配的版本&lt;/li&gt;
&lt;li&gt;再次点击 &lt;strong&gt;添加以供审核&lt;/strong&gt; 确认提交&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="八审核等待"&gt;八、审核等待
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;一般 24~48 小时&lt;/li&gt;
&lt;li&gt;节假日 / 寒暑假：可能 3~7 天&lt;/li&gt;
&lt;li&gt;加急审核：&lt;a class="link" href="https://developer.apple.com/contact/app-store/?topic=appeal" target="_blank" rel="noopener"
 &gt;https://developer.apple.com/contact/app-store/?topic=appeal&lt;/a&gt;（每年最多 2 次）&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="九审核结果"&gt;九、审核结果
&lt;/h2&gt;&lt;h3 id="通过"&gt;通过
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;后台状态：&lt;strong&gt;Ready for Sale&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;选 &lt;strong&gt;Manually release this version&lt;/strong&gt; 手动发布，还是 &lt;strong&gt;Automatically release&lt;/strong&gt; 自动发布&lt;/li&gt;
&lt;li&gt;选 &lt;strong&gt;Phased Release&lt;/strong&gt; 分阶段发布（7 天内逐步放给 1%/2%/5%/10%/20%/50%/100% 用户）&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="被拒"&gt;被拒
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;后台会发邮件说明原因（4.0/2.1/3.1.1 等条款号）&lt;/li&gt;
&lt;li&gt;常见原因：
&lt;ul&gt;
&lt;li&gt;4.0 抄袭 / 模仿&lt;/li&gt;
&lt;li&gt;2.1 崩溃、bug&lt;/li&gt;
&lt;li&gt;3.1.1 内购绕过&lt;/li&gt;
&lt;li&gt;4.2 最低功能性&lt;/li&gt;
&lt;li&gt;5.1.1 隐私协议缺失&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;解决后重新提交&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="十上架后被下架"&gt;十、上架后被下架
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;常见原因&lt;/strong&gt;：开发者主动下架、违反政策、长期不更新。&lt;/p&gt;
&lt;h3 id="重新上架方法"&gt;重新上架方法
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;App Store Connect → App 价格与销售范围&lt;/li&gt;
&lt;li&gt;设置 &lt;strong&gt;供应情况&lt;/strong&gt; → &lt;strong&gt;可供销售&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;保存成功后 App Store 即可看到&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="截图要求按苹果规范"&gt;截图要求（按苹果规范）
&lt;/h2&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;项目&lt;/th&gt;
					&lt;th&gt;要求&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;格式&lt;/td&gt;
					&lt;td&gt;PNG / JPEG（无 alpha）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;尺寸&lt;/td&gt;
					&lt;td&gt;见上表（6.5 + 6.7 必填）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;数量&lt;/td&gt;
					&lt;td&gt;1~10 张（每个尺寸）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;预览视频&lt;/td&gt;
					&lt;td&gt;0&lt;del&gt;3 个，H.264 MP4/MOV，15&lt;/del&gt;30 秒&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="加速审核的注意事项"&gt;加速审核的注意事项
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;避开节假日&lt;/strong&gt;（圣诞、春节、暑假前）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;首发版本先打完美&lt;/strong&gt;——上架后每次更新都需重新审核&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;TestFlight 内测&lt;/strong&gt;：上架前先让 5~10 个内部测试员跑一周&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;第三方 SDK 合规&lt;/strong&gt;：广告 SDK、统计 SDK 必须有隐私协议&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="十一2024-视角xcode-15--ios-17-上架新特性"&gt;十一、2024+ 视角：Xcode 15+ / iOS 17+ 上架新特性
&lt;/h2&gt;&lt;p&gt;本文 2019 年写时 Xcode 还是 11，截图规范还停留在 iPhone XS Max 6.5 英寸。5 年后（2024），Xcode 已经迭代到 &lt;strong&gt;15.x&lt;/strong&gt;（iOS 17 SDK），iPhone 出到 &lt;strong&gt;15 Pro Max&lt;/strong&gt;（6.7 英寸 2796×1290），上架流程也发生了&lt;strong&gt;重大变化&lt;/strong&gt;。下面是当前最佳实践。&lt;/p&gt;
&lt;h3 id="1-截图规范的更新2024"&gt;1. 截图规范的更新（2024）
&lt;/h3&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;设备&lt;/th&gt;
					&lt;th&gt;2019 主流&lt;/th&gt;
					&lt;th&gt;2024 主流&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;6.5 英寸&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;iPhone XS Max&lt;/strong&gt;（1242×2688）&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;iPhone 11 Pro Max&lt;/strong&gt;（1242×2688）✅ 仍可&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;6.7 英寸&lt;/td&gt;
					&lt;td&gt;刚开始&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;iPhone 14/15 Pro Max&lt;/strong&gt;（1290×2796）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;6.9 英寸&lt;/td&gt;
					&lt;td&gt;—&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;iPhone 16 Pro Max&lt;/strong&gt;（2024 新增）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;6.1 英寸&lt;/td&gt;
					&lt;td&gt;可选&lt;/td&gt;
					&lt;td&gt;可选&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;iPad&lt;/td&gt;
					&lt;td&gt;12.9 英寸（2048×2732）&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;13 英寸 M4 iPad Pro&lt;/strong&gt;（2048×2732）&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;重要变化&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;iPhone 6.5 英寸 + 6.7 英寸&lt;/strong&gt; → 现在&lt;strong&gt;只需 6.7 英寸&lt;/strong&gt;（6.5 自动向下兼容）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;iPhone 6.9 英寸&lt;/strong&gt;（iPhone 16 Pro Max，2024-09）&lt;strong&gt;强烈建议补一份&lt;/strong&gt;——这是 App Store 展示位&lt;strong&gt;主推尺寸&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;iPad 13 英寸&lt;/strong&gt;（M4）也建议补——iPad 端流量不容忽视&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;2024 截图生成&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;官方 &lt;a class="link" href="https://developer.apple.com/design/resources/" target="_blank" rel="noopener"
 &gt;Apple Design Resources&lt;/a&gt; 提供最新 PSD/Sketch/Figma 模板&lt;/li&gt;
&lt;li&gt;工具：&lt;strong&gt;Screenshot.rocks&lt;/strong&gt;（在线）、&lt;strong&gt;Mockuphone&lt;/strong&gt;、&lt;strong&gt;Figma + 设备框模板&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="2-xcode-15-的关键变化"&gt;2. Xcode 15+ 的关键变化
&lt;/h3&gt;&lt;h4 id="21-默认不再支持-32-位"&gt;2.1 默认不再支持 32 位
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Xcode 15+ 彻底移除 armv7&lt;/strong&gt;——App Store 也不接受 32 位包&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;最低 iOS 12&lt;/strong&gt;（之前是 iOS 9）&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="22-构建系统升级"&gt;2.2 构建系统升级
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;默认使用&lt;/strong&gt; &lt;code&gt;BUILD_LIBRARY_FOR_DISTRIBUTION&lt;/code&gt;（Swift Package 友好）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;ENABLE_USER_SCRIPT_SANDBOXING&lt;/code&gt;&lt;/strong&gt; 默认开启（脚本沙箱化）—— 部分 CI 脚本需加 &lt;code&gt;allowed write paths&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;生成 Swift 文档&lt;/strong&gt;（DocC）成为内置功能&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="23-模拟器变化"&gt;2.3 模拟器变化
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;iOS 17 模拟器&lt;strong&gt;默认 Apple Silicon&lt;/strong&gt;（arm64 模拟器）&lt;/li&gt;
&lt;li&gt;旧的 Rosetta 模拟器&lt;strong&gt;已被移除&lt;/strong&gt;（Xcode 14.3+）&lt;/li&gt;
&lt;li&gt;iPhone 15 Pro / iPhone 15 / iPhone 15 Plus / iPhone SE (3rd) 模拟器内置&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="3-ios-17-新-api如果你的-app-用了"&gt;3. iOS 17 新 API（如果你的 App 用了）
&lt;/h3&gt;&lt;p&gt;上架时 &lt;strong&gt;Info.plist 隐私描述&lt;/strong&gt;（&lt;code&gt;NSPrivacyAccessedAPITypes&lt;/code&gt;）是&lt;strong&gt;强制项&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;span class="lnt"&gt;8
&lt;/span&gt;&lt;span class="lnt"&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-xml" data-lang="xml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;key&amp;gt;&lt;/span&gt;NSPrivacyAccessedAPITypes&lt;span class="nt"&gt;&amp;lt;/key&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;array&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;dict&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;key&amp;gt;&lt;/span&gt;NSPrivacyAccessedAPIType&lt;span class="nt"&gt;&amp;lt;/key&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;string&amp;gt;&lt;/span&gt;NSPrivacyAccessedAPICategoryUserDefaults&lt;span class="nt"&gt;&amp;lt;/string&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;key&amp;gt;&lt;/span&gt;NSPrivacyAccessedAPITypeReasons&lt;span class="nt"&gt;&amp;lt;/key&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;array&amp;gt;&amp;lt;string&amp;gt;&lt;/span&gt;CA92.1&lt;span class="nt"&gt;&amp;lt;/string&amp;gt;&amp;lt;/array&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;/dict&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;/array&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;5 大必填项&lt;/strong&gt;（用了哪些就要写）：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;UserDefaults&lt;/code&gt;（CA92.1）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;FileTimestamp&lt;/code&gt;（C617.1）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;SystemBootTime&lt;/code&gt;（35F9.1）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;DiskSpace&lt;/code&gt;（85F4.1）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ActiveKeyboards&lt;/code&gt;（54BD.1）&lt;/li&gt;
&lt;/ul&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;2024-05 起 Apple 强制要求&lt;/strong&gt;——缺了就被拒。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="4-testflight-公开链接关键灰度手段"&gt;4. TestFlight 公开链接（关键灰度手段）
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;2020 推出&lt;/strong&gt;，2024 已经成熟到&lt;strong&gt;人手一个&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;App Store Connect → App → TestFlight → 公开链接 → 创建链接
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;示例&lt;/strong&gt;：&lt;code&gt;https://testflight.apple.com/join/XXXXXXXX&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;好处&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;灰度期间&lt;strong&gt;不需要走 Apple 审核&lt;/strong&gt;（外部测试自动通过）&lt;/li&gt;
&lt;li&gt;50~500 人灰度&lt;strong&gt;极方便&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;用户点链接 → 装 TestFlight → 装 App，全程&lt;strong&gt;3 分钟&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="5-app-store-connect-api替代手工"&gt;5. App Store Connect API（替代手工）
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;2024 上架流程的&amp;quot;重头戏&amp;quot;&lt;/strong&gt;——几乎所有手动操作都 API 化了：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 用 API Key 上传构建（不再用 Transporter GUI）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;xcrun altool --upload-app &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --type ios &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --file MyApp.ipa &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --apiKey ABC123XYZ &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --apiIssuer 12345678-90ab-cdef-1234-567890abcdef
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;配合 CI/CD&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# GitHub Actions 示例&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Upload to App Store Connect&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="sd"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; xcrun altool --upload-app \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; --type ios \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; --file build/MyApp.ipa \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; --apiKey ${{ secrets.ASC_KEY_ID }} \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; --apiIssuer ${{ secrets.ASC_ISSUER_ID }}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;env&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;ASC_API_KEY_FILE_BASE64&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;${{ secrets.ASC_API_KEY_BASE64 }}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="6-phased-release分阶段发布"&gt;6. Phased Release（分阶段发布）
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;2018 推出，2024 仍是默认推荐&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;App Store Connect → 版本 → Phased Release
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ☑ Release this version over 7 days
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;节奏&lt;/strong&gt;：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Day&lt;/th&gt;
					&lt;th&gt;比例&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;1&lt;/td&gt;
					&lt;td&gt;1%&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;2&lt;/td&gt;
					&lt;td&gt;2%&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;3&lt;/td&gt;
					&lt;td&gt;5%&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;4&lt;/td&gt;
					&lt;td&gt;10%&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;5&lt;/td&gt;
					&lt;td&gt;20%&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;6&lt;/td&gt;
					&lt;td&gt;50%&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;7&lt;/td&gt;
					&lt;td&gt;100%&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;好处&lt;/strong&gt;：上线首日如果 crash / 服务器挂，&lt;strong&gt;只影响 1% 用户&lt;/strong&gt;，有时间回滚。&lt;/p&gt;
&lt;h3 id="7-app-内购买iap--storekit-2"&gt;7. App 内购买（IAP） —— StoreKit 2
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;2021 推出 StoreKit 2&lt;/strong&gt;（Swift async/await 原生 API），&lt;strong&gt;2024 是新项目默认&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;span class="lnt"&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-swift" data-lang="swift"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// StoreKit 1（旧）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;SKPaymentQueue&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;default&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="n"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;payment&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;SKProductsRequest&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="n"&gt;start&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// StoreKit 2（新）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nv"&gt;products&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="k"&gt;try&lt;/span&gt; &lt;span class="n"&gt;await&lt;/span&gt; &lt;span class="n"&gt;Product&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;products&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;com.example.coin_100&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nv"&gt;result&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="k"&gt;try&lt;/span&gt; &lt;span class="n"&gt;await&lt;/span&gt; &lt;span class="n"&gt;products&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;purchase&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;新项目 2024 必用 StoreKit 2&lt;/strong&gt;——Apple 已在 WWDC 2023 明确&amp;quot;StoreKit 1 进入维护期&amp;quot;。&lt;/p&gt;
&lt;h3 id="8-加速审核的现状2024"&gt;8. 加速审核的现状（2024）
&lt;/h3&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;渠道&lt;/th&gt;
					&lt;th&gt;时效&lt;/th&gt;
					&lt;th&gt;限制&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;正常审核&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;24~48h&lt;/td&gt;
					&lt;td&gt;—&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;加急审核&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;几小时&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;每年 2 次&lt;/strong&gt;（和 2019 一样）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;App Review 申诉&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;不定&lt;/td&gt;
					&lt;td&gt;误判可用&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;紧急安全修复&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;更快&lt;/td&gt;
					&lt;td&gt;严重安全问题&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;加急理由必须合理&lt;/strong&gt;（&amp;ldquo;赶首发&amp;quot;不算理由，&amp;ldquo;修复支付漏洞&amp;quot;算）。&lt;/p&gt;
&lt;h3 id="9-常见-4021311-条款的应对2024-强化版"&gt;9. 常见 4.0/2.1/3.1.1 条款的应对（2024 强化版）
&lt;/h3&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;条款&lt;/th&gt;
					&lt;th&gt;含义&lt;/th&gt;
					&lt;th&gt;2024 应对&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;4.0 抄袭&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;模仿其他 App&lt;/td&gt;
					&lt;td&gt;设计稿必须有&lt;strong&gt;原创&lt;/strong&gt; logo / 配色 / icon&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;2.1 崩溃&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;App 启动即崩&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;上架前必须 TestFlight 跑 7 天&lt;/strong&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;3.1.1 内购绕过&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;用第三方支付绕开 Apple 30%&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;数字内容/虚拟商品必须用 IAP&lt;/strong&gt;，实物可以走第三方&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;4.2 最低功能性&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;App 功能太简单&lt;/td&gt;
					&lt;td&gt;加内容、UGC、AI 助手、3 个以上核心功能&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;5.1.1 隐私协议&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;缺隐私协议 / 收集不声明&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;必填&lt;/strong&gt; + 详细披露所有 SDK&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;2.3.10 准确元数据&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;截图与 App 实际不符&lt;/td&gt;
					&lt;td&gt;截图&lt;strong&gt;必须真实&lt;/strong&gt;反映 App 界面（不再接受美化）&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="10-app-store-small-business-program"&gt;10. App Store Small Business Program
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;2021 推出，2024 仍是&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;年营收 &amp;lt; &lt;strong&gt;100 万美元&lt;/strong&gt; → 苹果抽成从 30% → &lt;strong&gt;15%&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;资格自动判定，无需申请&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;1 年后第一次续费&lt;/strong&gt;：仍享 15%——这条 2023 改的，&lt;strong&gt;比之前友好&lt;/strong&gt;。&lt;/p&gt;
&lt;h3 id="11-2024-上架完整流程更新版"&gt;11. 2024 上架完整流程（更新版）
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mf"&gt;1.&lt;/span&gt; &lt;span class="err"&gt;本地代码&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;↓&lt;/span&gt; &lt;span class="n"&gt;Xcode&lt;/span&gt; &lt;span class="n"&gt;Archive&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Cmd&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="n"&gt;Shift&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="n"&gt;B&lt;/span&gt; &lt;span class="err"&gt;→&lt;/span&gt; &lt;span class="n"&gt;Any&lt;/span&gt; &lt;span class="n"&gt;iOS&lt;/span&gt; &lt;span class="n"&gt;Device&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mf"&gt;2.&lt;/span&gt; &lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;xcarchive&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;↓&lt;/span&gt; &lt;span class="n"&gt;Organizer&lt;/span&gt; &lt;span class="err"&gt;→&lt;/span&gt; &lt;span class="n"&gt;Distribute&lt;/span&gt; &lt;span class="n"&gt;App&lt;/span&gt; &lt;span class="err"&gt;→&lt;/span&gt; &lt;span class="n"&gt;App&lt;/span&gt; &lt;span class="n"&gt;Store&lt;/span&gt; &lt;span class="n"&gt;Connect&lt;/span&gt; &lt;span class="err"&gt;→&lt;/span&gt; &lt;span class="n"&gt;Upload&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mf"&gt;3.&lt;/span&gt; &lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ipa&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;↓&lt;/span&gt; &lt;span class="err"&gt;自动签名&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;Xcode&lt;/span&gt; &lt;span class="err"&gt;上传&lt;/span&gt; &lt;span class="n"&gt;OR&lt;/span&gt; &lt;span class="n"&gt;altool&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;API&lt;/span&gt; &lt;span class="n"&gt;Key&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mf"&gt;4.&lt;/span&gt; &lt;span class="n"&gt;App&lt;/span&gt; &lt;span class="n"&gt;Store&lt;/span&gt; &lt;span class="n"&gt;Connect&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;↓&lt;/span&gt; &lt;span class="err"&gt;填元数据（截图&lt;/span&gt; &lt;span class="mf"&gt;6.7&lt;/span&gt; &lt;span class="err"&gt;英寸&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mf"&gt;6.9&lt;/span&gt; &lt;span class="err"&gt;英寸&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;iPad&lt;/span&gt; &lt;span class="mi"&gt;13&lt;/span&gt; &lt;span class="err"&gt;英寸）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;↓&lt;/span&gt; &lt;span class="err"&gt;选构建版本&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;↓&lt;/span&gt; &lt;span class="err"&gt;提交审核&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mf"&gt;5.&lt;/span&gt; &lt;span class="err"&gt;审核通过&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="err"&gt;↓&lt;/span&gt; &lt;span class="n"&gt;Phased&lt;/span&gt; &lt;span class="n"&gt;Release&lt;/span&gt; &lt;span class="err"&gt;分&lt;/span&gt; &lt;span class="mi"&gt;7&lt;/span&gt; &lt;span class="err"&gt;天&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="mf"&gt;6.&lt;/span&gt; &lt;span class="err"&gt;上架&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="12-一句话总结"&gt;12. 一句话总结
&lt;/h3&gt;
 &lt;blockquote&gt;
 &lt;p&gt;2019 年是 &lt;strong&gt;Xcode 11 + iOS 13 + iPhone XS Max + 手工上传 Transporter&lt;/strong&gt; 的时代；
2024 年是 &lt;strong&gt;Xcode 15+ + iOS 17 + iPhone 15/16 Pro Max + App Store Connect API + Phased Release + TestFlight 公开链接&lt;/strong&gt; 的时代。&lt;/p&gt;
&lt;p&gt;流程&lt;strong&gt;更短、更自动、更安全&lt;/strong&gt;——上架从&amp;quot;几天手工活&amp;quot;变成&amp;quot;几小时自动化&amp;rdquo;。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="下一步"&gt;下一步
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;想做 CI/CD 自动打包（GitHub Action + fastlane），看 fastlane 官方文档&lt;/li&gt;
&lt;li&gt;想做版本号自动管理（语义化版本），看 &lt;a class="link" href="https://semver.org/lang/zh-CN/" target="_blank" rel="noopener"
 &gt;Semver&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;想加内购（IAP），看 &lt;a class="link" href="https://developer.apple.com/documentation/storekit/" target="_blank" rel="noopener"
 &gt;StoreKit 2 官方文档&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;想做灰度发布，看 &lt;a class="link" href="https://developer.apple.com/testflight/" target="_blank" rel="noopener"
 &gt;TestFlight 公开链接&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="参考资料"&gt;参考资料
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;App Store Connect 文档：https://developer.apple.com/help/app-store-connect/&lt;/li&gt;
&lt;li&gt;App Store 审核指南：https://developer.apple.com/app-store/review/guidelines/&lt;/li&gt;
&lt;li&gt;截图规范：https://developer.apple.com/help/app-store-connect/manage-app-information/upload-app-previews-and-screenshots&lt;/li&gt;
&lt;li&gt;App Store Connect API：https://developer.apple.com/documentation/appstoreconnectapi&lt;/li&gt;
&lt;li&gt;StoreKit 2：https://developer.apple.com/documentation/storekit/&lt;/li&gt;
&lt;li&gt;Transporter：https://apps.apple.com/app/transporter/id1450874784&lt;/li&gt;
&lt;li&gt;Xcode 15 Release Notes：https://developer.apple.com/documentation/xcode-release-notes/xcode-15-release-notes&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Windows 截图与录屏工具三剑客：Captura、ScreenToGif、PicPick 完全对比</title><link>https://liangweidonggood.github.io/p/windows-portable-screenshot-2018/</link><pubDate>Thu, 15 Mar 2018 00:00:00 +0800</pubDate><guid>https://liangweidonggood.github.io/p/windows-portable-screenshot-2018/</guid><description>&lt;img src="https://liangweidonggood.github.io/p/windows-portable-screenshot-2018/image/cover.jpg" alt="Featured image of post Windows 截图与录屏工具三剑客：Captura、ScreenToGif、PicPick 完全对比" /&gt;&lt;h2 id="一三剑客定位"&gt;一、三剑客定位
&lt;/h2&gt;&lt;p&gt;写技术博客、教程、工单复盘、UI 反馈都离不开&lt;strong&gt;截屏工具&lt;/strong&gt;。Windows 系统自带的 &lt;code&gt;PrintScreen&lt;/code&gt; + &lt;code&gt;SnippingTool&lt;/code&gt; 只能解决&amp;quot;有图&amp;quot;，无法解决&amp;quot;专业&amp;quot;。&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;工具&lt;/th&gt;
					&lt;th&gt;主战场&lt;/th&gt;
					&lt;th&gt;杀手锏&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Captura&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;录屏（视频/GIF）&lt;/td&gt;
					&lt;td&gt;鼠标点击高亮、按键显示、FFmpeg 后端&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;ScreenToGif&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;GIF 动图&lt;/td&gt;
					&lt;td&gt;帧级编辑、光标轨迹、字幕&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;PicPick&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;截图 + 标注&lt;/td&gt;
					&lt;td&gt;取色器、量角器、屏幕标尺&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;本文把它们的工作流串起来，从&amp;quot;录一段演示&amp;quot;到&amp;quot;导出 GIF 教程&amp;quot;完整跑一遍。&lt;/p&gt;
&lt;h2 id="二screentogif录-gif-的瑞士军刀"&gt;二、ScreenToGif：录 GIF 的瑞士军刀
&lt;/h2&gt;&lt;h3 id="21-下载"&gt;2.1 下载
&lt;/h3&gt;&lt;p&gt;&lt;a class="link" href="https://www.screentogif.com/" target="_blank" rel="noopener"
 &gt;screentogif.com&lt;/a&gt; 下载 &lt;code&gt;ScreenToGif.2.x.x.Setup.msi&lt;/code&gt;（带安装器）或 &lt;code&gt;ScreenToGif.2.x.x.Portable.zip&lt;/code&gt;（绿色版）。&lt;/p&gt;
&lt;p&gt;绿色版解压到 &lt;code&gt;D:\portable\sys\screentogif\&lt;/code&gt;，运行 &lt;code&gt;ScreenToGif.exe&lt;/code&gt;。&lt;/p&gt;
&lt;h3 id="22-三种录制模式"&gt;2.2 三种录制模式
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;录像机 : 录一段视频，可导出 mp4 / gif / avi
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;摄像机 : 录摄像头画面（适合做&amp;#34;主播&amp;#34;风格）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 适合录&amp;#34;我说你做&amp;#34;风格
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;剪辑板 : 直接从剪贴板图片生成动画（适合复现报错）
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="23-完整工作流录制--编辑--导出"&gt;2.3 完整工作流：录制 → 编辑 → 导出
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;span class="lnt"&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;1. 录像机 → 拖框选录制区域
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2. 开始录制 → 演示操作 → 停止（Ctrl+Shift+F5 默认快捷键）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;3. 编辑器:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - 删除重复帧
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - 鼠标光标轨迹效果（右键 → 光标 → 高亮）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - 加字幕：选中多帧 → 标题帧 → 输入文字
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - 加按键提示：编辑 → 启用按键
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;4. 文件 → 另存为 → GIF
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="24-帧编辑高级用法"&gt;2.4 帧编辑高级用法
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;span class="lnt"&gt;14
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# 抽帧
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;编辑 → 删除帧（Ctrl+Del）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# 重复帧（让关键步骤多停留 0.5s）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;编辑 → 复制帧（Ctrl+Insert）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# 鼠标点击效果
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;编辑 → 选择帧 → 右键 → 鼠标光标 → 显示点击圈
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 选项：颜色、点击半径、动画时长
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# 文本注释
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;标题帧 → 拖到关键步骤前 → 文本框
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 字体：Arial 14 加粗
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 背景：半透明黑
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="25-导出设置"&gt;2.5 导出设置
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# GIF 编码器选择
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;FFmpeg : 文件最小，CPU 重
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;.NET 默认 : 平衡
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ScreenToGif : 颜色最准
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# 推荐配置
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;编码器: FFmpeg
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;FPS : 10-15 (教程类) 20+ (操作流畅类)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;质量 : 75-85
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;循环 : 无限
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;实战经验&lt;/strong&gt;：把&amp;quot;鼠标移动 → 点击&amp;quot;这种关键操作&lt;strong&gt;手动加 0.3s 停顿&lt;/strong&gt;（用复制帧实现），比裸录的 GIF 易读 3 倍。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="三captura录屏--截屏双修"&gt;三、Captura：录屏 + 截屏双修
&lt;/h2&gt;&lt;h3 id="31-下载"&gt;3.1 下载
&lt;/h3&gt;&lt;p&gt;&lt;a class="link" href="https://github.com/MathewSachin/Captura/releases" target="_blank" rel="noopener"
 &gt;MathewSachin/Captura/releases&lt;/a&gt; 下载 &lt;code&gt;Captura-x.x.x.zip&lt;/code&gt;（绿色版）。&lt;strong&gt;Captura 8+ 已停更，社区有 fork &lt;a class="link" href="https://github.com/MathewSachin/Captura/issues/672" target="_blank" rel="noopener"
 &gt;Captura-Localization&lt;/a&gt;。&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id="32-录屏为-mp4"&gt;3.2 录屏为 MP4
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;1. 设置 → 视频：FFmpeg
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;2. 输出格式：mp4
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;3. 帧率：30
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;4. 视频比特率：4 Mbps
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;5. 录音：选麦克风 / 系统声音（默认静音）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;6. 录制区域：全屏 / 窗口 / 自定义矩形
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;7. 点击录制按钮 → 演示 → 停止
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="33-鼠标点击高亮"&gt;3.3 鼠标点击高亮
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;设置 → 鼠标：
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ☑ 显示鼠标光标
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ☑ 高亮鼠标点击（颜色 / 半径 / 时长）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ☑ 显示按键
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;效果：鼠标点击时，&lt;strong&gt;屏幕上一个彩色圆圈扩散&lt;/strong&gt; + 屏幕角落弹出按键提示。对教程类视频帮助巨大。&lt;/p&gt;
&lt;h3 id="34-截屏为-png"&gt;3.4 截屏为 PNG
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# 单次截屏
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Ctrl+Shift+S → 拖框 → 保存 PNG
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# 滚动截长图（适合截网页）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Ctrl+Shift+R → 自动滚动捕获
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="35-输出格式"&gt;3.5 输出格式
&lt;/h3&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;格式&lt;/th&gt;
					&lt;th&gt;用途&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;MP4 (H.264)&lt;/td&gt;
					&lt;td&gt;视频教程、上传 B 站&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;GIF&lt;/td&gt;
					&lt;td&gt;嵌入 README、博客&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;WebM&lt;/td&gt;
					&lt;td&gt;小体积 HTML5 视频&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;AVI&lt;/td&gt;
					&lt;td&gt;老格式兼容&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;PNG 序列&lt;/td&gt;
					&lt;td&gt;后期剪辑&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="36-命令行无-ui-录制"&gt;3.6 命令行无 UI 录制
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 安装命令行版本&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Captura.Setup.exe /passive /features&lt;span class="o"&gt;=&lt;/span&gt;CommandLine
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 后台录屏 60s&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;captura-cli.exe --source screen --encoder ffmpeg --output demo.mp4 --duration &lt;span class="m"&gt;60&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="四picpick截图--标注全能选手"&gt;四、PicPick：截图 + 标注全能选手
&lt;/h2&gt;&lt;h3 id="41-下载"&gt;4.1 下载
&lt;/h3&gt;&lt;p&gt;&lt;a class="link" href="https://picpick.app/zh/download" target="_blank" rel="noopener"
 &gt;picpick.app/zh/download&lt;/a&gt; 下载免费个人版安装器。安装后可选择 &lt;strong&gt;Portable Mode&lt;/strong&gt;（设置 → 通用 → 启用）。&lt;/p&gt;
&lt;h3 id="42-11-种截屏模式"&gt;4.2 11 种截屏模式
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;全屏截屏 F11
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;活动窗口截屏 Alt+PrtSc
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;窗口控件截屏 Ctrl+Alt+PrtSc
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;矩形区域截屏 Shift+Ctrl+Alt+A
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;手绘区域截屏 Shift+Ctrl+Alt+D
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;滚动窗口截屏 Shift+Ctrl+Alt+R
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="43-标注工具栏"&gt;4.3 标注工具栏
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;矩形 / 椭圆 / 直线 / 箭头
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;文字（多种字体 / 大小 / 颜色）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;马赛克 / 模糊（打码敏感信息）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;序号标号（步骤 1, 2, 3）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;图章（✓ ✗ ⚠ 等）
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="44-杀手锏取色器"&gt;4.4 杀手锏：取色器
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;F8 → 鼠标移到屏幕任意位置 → 显示 HEX / RGB
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;例如：#264653 操作系统 category 蓝色
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;写博客配色的秘密&lt;/strong&gt;：看到喜欢的颜色 → F8 取色 → 记下来 → CSS 用 &lt;code&gt;background: #264653;&lt;/code&gt;。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="45-量角器与屏幕标尺"&gt;4.5 量角器与屏幕标尺
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# 量角器
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Ctrl+Alt+P → 测屏幕上任意角度
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 适合做：UI 评审指出&amp;#34;这个 30° 斜了&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# 屏幕标尺
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Ctrl+Alt+R → 测任意两点像素距离
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 适合做：UI 走查标注按钮间距
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="46-共享工作区picpick-独有"&gt;4.6 共享工作区（PicPick 独有）
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;共享屏幕 → 选&amp;#34;屏幕&amp;#34; → 生成临时 URL
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 30 分钟内任何浏览器访问该 URL 可看你的桌面
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 适合：远程 pair debug
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="五组合工作流录教程--出-gif--写博客"&gt;五、组合工作流：录教程 → 出 GIF → 写博客
&lt;/h2&gt;&lt;h3 id="51-场景写一篇-git-rebase-实战-博客"&gt;5.1 场景：写一篇 &amp;ldquo;Git rebase 实战&amp;rdquo; 博客
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# Step 1：Captura 录完整视频
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;启动 Captura → 录 5 分钟 git rebase 实操 → 导出 demo.mp4
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# Step 2：ScreenToGif 截关键步骤
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;把 mp4 拖到 ScreenToGif 编辑器 → 抽帧出关键 3 个动作：
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - &amp;#34;git rebase -i HEAD~3&amp;#34; 弹出编辑界面
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - 把 pick 改成 squash
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - &amp;#34;:wq 后弹出 commit 信息编辑器&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;每个动作单独导出 GIF
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# Step 3：PicPick 截终端截图
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;打开终端 → 滚动到目标位置 → Ctrl+Alt+R 滚动截图 → 标注箭头
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="52-场景ui-走查邮件"&gt;5.2 场景：UI 走查邮件
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# PicPick 截全屏
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;F11 → 标注红框/箭头/序号 → Ctrl+C 复制到剪贴板 → 粘贴到 Outlook
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="53-场景录报错复现"&gt;5.3 场景：录报错复现
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# ScreenToGif 录 30 秒
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# 帧编辑：删多余空帧
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# 加字幕：&amp;#34;打开菜单 → 点击 X → 报红框错误&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# 加马赛克：把账号/邮箱打码
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# 导出 800KB 内的 GIF
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="六效率对比"&gt;六、效率对比
&lt;/h2&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;任务&lt;/th&gt;
					&lt;th&gt;工具&lt;/th&gt;
					&lt;th&gt;时间&lt;/th&gt;
					&lt;th&gt;输出&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;截一张图发 IM&lt;/td&gt;
					&lt;td&gt;Win+Shift+S&lt;/td&gt;
					&lt;td&gt;5s&lt;/td&gt;
					&lt;td&gt;PNG&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;截一张图加标注&lt;/td&gt;
					&lt;td&gt;PicPick&lt;/td&gt;
					&lt;td&gt;30s&lt;/td&gt;
					&lt;td&gt;PNG&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;截长网页&lt;/td&gt;
					&lt;td&gt;PicPick 滚动&lt;/td&gt;
					&lt;td&gt;1min&lt;/td&gt;
					&lt;td&gt;PNG&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;录 30s 教程&lt;/td&gt;
					&lt;td&gt;Captura&lt;/td&gt;
					&lt;td&gt;30s&lt;/td&gt;
					&lt;td&gt;MP4&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;录 30s → 出 GIF&lt;/td&gt;
					&lt;td&gt;ScreenToGif&lt;/td&gt;
					&lt;td&gt;2min&lt;/td&gt;
					&lt;td&gt;GIF&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;录 → 抽帧 → 字幕 → GIF&lt;/td&gt;
					&lt;td&gt;ScreenToGif&lt;/td&gt;
					&lt;td&gt;5min&lt;/td&gt;
					&lt;td&gt;GIF&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;测 UI 像素距离&lt;/td&gt;
					&lt;td&gt;PicPick 标尺&lt;/td&gt;
					&lt;td&gt;1min&lt;/td&gt;
					&lt;td&gt;数字&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;取屏幕色值&lt;/td&gt;
					&lt;td&gt;PicPick 取色器&lt;/td&gt;
					&lt;td&gt;1s&lt;/td&gt;
					&lt;td&gt;HEX&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="七进阶ffmpeg-后端"&gt;七、进阶：FFmpeg 后端
&lt;/h2&gt;&lt;p&gt;ScreenToGif 和 Captura 都可以用 &lt;strong&gt;FFmpeg&lt;/strong&gt; 作为视频后端：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;span class="lnt"&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# ScreenToGif
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;设置 → 编码器 → FFmpeg
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ffmpeg.exe 路径：D:\portable\dev\ffmpeg\bin\ffmpeg.exe
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; → 输出文件最小、CPU 最重
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# Captura
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;设置 → 视频 → FFmpeg
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; → 同上
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;blockquote&gt;
 &lt;p&gt;没装 FFmpeg 时用默认 .NET 编码器，文件大约 1.5 倍大。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="八常见坑"&gt;八、常见坑
&lt;/h2&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;现象&lt;/th&gt;
					&lt;th&gt;原因&lt;/th&gt;
					&lt;th&gt;对策&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;ScreenToGif 录出来全黑&lt;/td&gt;
					&lt;td&gt;Windows 10 GPU 加速问题&lt;/td&gt;
					&lt;td&gt;设置 → 屏幕捕获模式 → GDI&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Captura 录音没声音&lt;/td&gt;
					&lt;td&gt;麦克风权限&lt;/td&gt;
					&lt;td&gt;Win10 设置 → 隐私 → 麦克风 → 允许&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;PicPick 截不到高 DPI&lt;/td&gt;
					&lt;td&gt;缩放比例&lt;/td&gt;
					&lt;td&gt;设置 → 高级 → 关闭 DPI 缩放&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;ScreenToGif GIF 文件超大&lt;/td&gt;
					&lt;td&gt;FPS 太高 / 编码器错&lt;/td&gt;
					&lt;td&gt;FPS 降到 10-15，换 FFmpeg&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Captura 启动后崩溃&lt;/td&gt;
					&lt;td&gt;.NET 版本&lt;/td&gt;
					&lt;td&gt;装 .NET 6 Desktop Runtime&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="九文件管理与归档"&gt;九、文件管理与归档
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;D:\portable\sys\
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── screentogif\ # ScreenToGif 2.x
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── captura\ # Captura 8.x
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;└── picpick\ # PicPick 7.x
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# 录完的文件
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;D:\workspace\github\blogSource\images\
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── 2024-git-rebase\ # 博客专用
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ ├── 01-rebase-open.png
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ ├── 02-squash.gif
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ └── 03-commit.gif
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;最佳实践&lt;/strong&gt;：截图和录屏&lt;strong&gt;立刻&lt;/strong&gt;归档到博客仓库的 &lt;code&gt;images/&amp;lt;文章名&amp;gt;/&lt;/code&gt; 下，&lt;strong&gt;不要在桌面堆积&lt;/strong&gt;。三个月后想找一张图你会感谢现在的自己。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="十下一步"&gt;十、下一步
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GIF 进阶&lt;/strong&gt;：用 FFmpeg 抽 mp4 中的关键帧成 GIF（&lt;code&gt;ffmpeg -i demo.mp4 -vf &amp;quot;fps=15,scale=800:-1&amp;quot; out.gif&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;截图进阶&lt;/strong&gt;：用 Snipaste 替代 PicPick（更现代的悬浮贴图）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;录屏进阶&lt;/strong&gt;：用 OBS Studio 录带摄像头、画中画的专业教程&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;视频进阶&lt;/strong&gt;：用 DaVinci Resolve（免费）剪辑后导出&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="十一参考资料"&gt;十一、参考资料
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://www.screentogif.com/" target="_blank" rel="noopener"
 &gt;ScreenToGif 官网&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/MathewSachin/Captura/releases" target="_blank" rel="noopener"
 &gt;Captura GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://picpick.app/zh/download" target="_blank" rel="noopener"
 &gt;PicPick 中文站&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://ffmpeg.org/download.html" target="_blank" rel="noopener"
 &gt;FFmpeg 官方下载&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://obsproject.com/" target="_blank" rel="noopener"
 &gt;OBS Studio&lt;/a&gt;（专业录屏备选）&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.snipaste.com/" target="_blank" rel="noopener"
 &gt;Snipaste&lt;/a&gt;（悬浮贴图神器）&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>