
开始之前
- macOS VM:Devin 的会话需要在 macOS 上运行。如果你使用的是 Dedicated SaaS 部署,请联系你的账户团队启用 macOS VM。参见 macOS 支持。
- 一个代码仓库:创建一个空的代码仓库 (例如
habit-tracker) ,并通过你的 Git integration 授予 Devin 访问权限。 - Desktop mode:在 Settings > Customization 中开启 Enable desktop mode,这样 Devin 才能与模拟器交互并录制测试过程。参见 Computer Use。
macOS 会话与 Linux 会话消耗的用量相同,不会额外收取 macOS 费用。
步骤 1:提示 Devin 构建应用
- 明确平台版本和框架,这样 Devin 就不必猜测部署目标或架构。
- 明确模拟器设备,这样构建命令使用的目标设备在 VM 上确实存在。
- 描述具体的验证流程,这样 Devin 会测试你真正关心的行为,而不是只检查能否编译通过。
步骤 2:观察 Devin 构建与测试
-
搭建项目骨架:编写
project.yml、SwiftUI 视图、习惯数据模型以及测试 target,然后运行xcodegen generate。 -
构建并修复错误:在 shell 中运行
xcodebuild,读取编译器输出,不断修复错误,直到构建和测试全部通过。 -
在模拟器中运行应用:启动设备,然后安装并启动构建产物:
- 测试你描述的流程:借助 Computer Use 在应用里逐步点击操作,在屏幕上核对结果,并录制整个过程。
- 提交 pull request,附上摘要和截图。
步骤 3:审查并迭代
步骤 4:将测试版发布到 TestFlight
- 配置 App Store Connect:接受协议、注册 bundle ID、创建 app 记录、创建 beta 组,并回答出口合规问题。
- 创建 App Store Connect API 密钥,并下载其
.p8文件。 - 添加 Devin secrets:
ASC_KEY_ID、ASC_ISSUER_ID、ASC_PRIVATE_KEY和APPLE_TEAM_ID。 - 如果你的组织启用了受限的 网络策略,请允许访问 Apple 服务器的网络。
在
project.yml 和 App Store Connect 中使用相同的 bundle ID。如果 Devin 在步骤 1 中选用了占位的 bundle ID,请先让它更新项目。xcodebuild archive 归档应用,并通过 xcodebuild -exportArchive 上传。随后它会将处理完成的构建添加到 beta 组。若想复用这些步骤,而不必在每次提示中重复说明,可在蓝图的 knowledge 部分添加一个 testflight 条目。参见在蓝图中保存这些步骤。
提示
- 固定工具链:macOS 镜像包含多个 Xcode 版本,可在蓝图中使用
DEVELOPER_DIR或xcode-select指定所需版本。参见选择 Xcode 版本。 - 将凭据存为 secrets:App Store Connect API 密钥、签名证书以及私有包注册表令牌都应存放在 Secrets 中,Devin 会以环境变量的形式读取。
- 放行包注册表:如果你的组织启用了受限网络策略,请确保 macOS 允许列表中包含 Swift Package Manager、CocoaPods 以及应用所需的任何私有包注册表。参见网络访问。
- 唤醒后重启模拟器:会话休眠再唤醒后,文件会保留,但运行中的进程不会。请让 Devin 在测试前重新启动模拟器。
- 索取证据:要求提供特定界面的截图或录屏,这样你无需亲自运行应用即可检查 UI。
限制
- Devin 在模拟器上运行应用,而非真实的 iPhone 或 iPad。若需在真机上测试,请安装 TestFlight 构建版本。
- 在 VM 内得到的计时和性能分析结果无法反映真机的实际性能。
- 在 macOS VM 上,容器通过软件模拟运行,因此大量依赖容器的工作会很慢。
后续步骤
TestFlight 上传
上传构建版本所需的 App Store Connect 配置、API 密钥和 secrets
macOS 支持
macOS 会话的蓝图选项、预装工具与问题排查
测试与录制
Devin 如何测试你的应用并记录测试结果

