@Chris_Wozniczek: 一个提示。这可以通过手机、Linux、Windows 或任何有浏览器的设备完成。设置只需点击五次。文章详细介绍……
摘要
本文展示了一种方法,使用Devin AI代理和Namespace的云Devboxes,在没有MacBook的情况下构建SwiftUI iOS应用,从而能够从任何基于浏览器的设备进行开发。
查看缓存全文
缓存时间: 2026/08/24 01:50
一个提示。
本可以在任何带浏览器的设备上完成:手机、Linux、Windows,随便什么。
设置只需5次点击。详细步骤和完整视频都在文章里。https://t.co/Jnt3x3kjgP
2026年开发SwiftUI iOS应用,你不需要Mac。
你不需要MacBook来开发SwiftUI iOS应用——我找到了最简单的方法,并有合并的PR证明这一点。
今天,我完全在一台免费的Mac上完成了原生iOS SwiftUI应用的整个开发过程。设置只需5次点击。我这么做是为了向你证明这确实可行,你可以利用这个机会。
我一分钱也没花。
一个提示,Devin就构建了一个SwiftUI习惯追踪器,在iPhone 16 Pro模拟器中运行它,点击测试了每一个习惯同时录制屏幕,然后推送代码并合并了PR。从头到尾,Xcode都没在笔记本电脑上启动过。
长久以来,对“我能在Windows或Linux上构建iOS应用吗?”这个问题的答案总是“不能”,每个人都在重复,包括我。Apple的工具链需要macOS,因此硬件是那道门。而那道门现在只是一个配置字段了。
人们会想各种办法:在线租用Mac,或者借用朋友的Mac做其他事情,但我找到了一个简单得多的方法。
我一直在重复自己对云端代理(cloud agents)的犹豫,因为我太习惯本地工作的方式了——本地仓库、本地文件。
我喜欢看着自己的机器完成工作。多年来我一直使用Windows联想ThinkPad,我知道构建这类应用需要各种变通方法。
我现在要展示的这个方法,是迄今为止最简单的,设置最少,完全在云端运行,但同时又能让你完全掌控开发过程——只要你愿意。
什么是Devin Outpost?
Devin Outpost - 是一个在你控制的机器上运行的Devin会话队列,而不是在Devin自己的沙箱中。你在你的Devin组织中注册一个Outpost,它就会作为Ubuntu和Windows旁边的机器选项出现。你在这台机器上启动的会话会在其队列中等待,直到你的某台机器接取任务。
分工很简单。代理循环、规划和推理部分留在Devin的云端。而每个Shell命令、文件编辑、构建和仓库访问操作都发生在你的机器上。
Namespace Devbox - 是一台完整的、隔离的机器(Linux或macOS),由Namespace为每次会话全新配置,并在会话结束时销毁。Namespace是Outposts的发布合作伙伴,根据他们的文档,也是唯一一家在Apple Silicon(而非模拟替代品)上的macOS上运行Devin会话的Outposts提供商。
Devbox蓝图(blueprint) - 是该机器的保存配置:操作系统、基础镜像(对于macOS,这里选择macOS和Xcode版本)、机器大小、访问模式。将蓝图连接到你的Devin组织,它就会作为一个虚拟环境出现,你可以为任何会话选择它。
这就是“没有Mac也能开发iOS”的全部诀窍。你不是租用Mac然后远程连接进去。你是给代理分配了一台Mac。
为什么用Outposts?为什么不直接使用Devin Cloud?
因为Devin Cloud默认给你Linux环境,而Xcode无法在Linux上运行。Apple的工具链需要macOS,这正是Outpost填补的空白。
另一个原因与Mac无关:你自己的基础镜像、你的内部网络、你的出站规则。Cognition在文档中明确指出,Outposts将真正的运营责任转移到了你这边:配置、隔离、访问控制、容量、监控。对于一个业余的iOS项目构建来说,这没问题。但对于一家公司来说,在投入之前,请仔细阅读那一页内容。
Mac是如何创建的(蓝图、Devbox、会话)
这是设置路径,直接来自Namespace和Devin文档,并按照你实际操作的顺序排列:
- 在Namespace仪表板中,进入Devboxes,然后Blueprints,点击“New Blueprint”创建一个Devbox蓝图。
- 填写名称(这是在Devin中显示的名称)、操作系统选macOS、基础镜像(在这里选择macOS和Xcode版本)、用于vCPU和RAM的机器大小,以及访问模式,必须选择Workspace-wide(共享)。
- 点击“Connect with Devin”并按照流程操作。这会将蓝图连接到你的Devin组织。
- 在Devin Cloud中,启动一个新会话,打开Settings,展开Virtual environments,然后选择你的蓝图。会话将进入队列,Namespace会认领它,配置一个全新的Devbox,并在其中启动Devin工作进程。
如果你选择自己动手而不是使用合作伙伴,Devin侧的操作是:Settings -> Environment -> Outposts -> Create Outpost。你选择一个名称和机器类型,然后会得到一个仅显示一次的Outpost令牌(token)。请妥善保存。接着你在自己的Mac上,在你愿意让代理自由操作的目录中运行命令 devin worker start --outpost=NAME --token=TOKEN,会话就会落地到该目录下的 repos 子文件夹中。
无论哪种方式,都只使用出站HTTPS。没有入站端口,没有公网IP,不需要维护VPN隧道。这个细节来自Namespace文档,正是这点使其可以在公司网络内使用。
Devin侧的蓝图(Blueprints)是另一件值得了解的事情:Devin可以读取一个仓库,并为其建议初始化和维护脚本,你审核并批准后,被批准的蓝图会被烘焙成一个快照(snapshot),供未来的会话启动使用。我的会话是从macOS环境的一个预构建快照启动的。我没有为此项目创建新的快照,所以会话启动时没有安装任何东西。
Devin实际获得的机器配置
会话报告如下:
- macOS 26.6,Apple Silicon
- Xcode 26.4.1(构建号 17E202)
- 6个vCPU,14 GB内存,工作卷有150 GB可用空间
- iOS模拟器运行时18.6、26.2、26.4已预装
- 工作目录在Devbox卷上,其下有
repos文件夹
Namespace的博客称,macOS Devbox运行在M4 Pro或M5 Max硬件上,并支持VNC,这样你可以查看与代理相同的屏幕。我没有打开VNC,我通过Devin自己的屏幕录制和屏幕视图来观看,可以看到Devin的实时操作或接管控制。
我给出的提示
为了这次演示,我给了Devin一个简单的任务。一段话,没有规格文档:
构建一个iOS SwiftUI习惯追踪器应用。它应预装4个习惯:喝水、锻炼、阅读20分钟、冥想,每个习惯都已设置当前的连续天数(分别为12、5、8、3天),这样应用看起来像是有人在使用。每个习惯显示一个苹果风格的动画进度环,点击时通过弹簧动画填满,并显示其连续天数计数器。采用深色、精致的UI。在iOS模拟器中运行,通过点击每个习惯进行测试,并录制测试过程。然后创建一个新的GitHub仓库,推送代码,创建一个PR,并合并它。
成果
5个文件共420行Swift代码:习惯模型(每个习惯有强调色)、一个小型可观察存储(用于初始化四个习惯并管理切换逻辑)、卡片视图、进度环和应用入口点。
进度环是一个带有渐变描边、圆角端盖的裁剪Circle,被旋转使其从顶部开始动画,使用 .spring(response: 0.6, dampingFraction: 0.7) 进行动画。点击卡片会切换完成状态并移动连续天数计数器(完成时增加,撤销时减少),并通过 .sensoryFeedback 实现轻微的触觉反馈,并在每张卡片上都有真正的辅助功能标签。
最终构建在iPhone 16 Pro模拟器中运行,深色UI,四个带有连续天数的习惯
构建和运行循环是三条命令,与你在自己Mac上运行的完全相同:
xcodebuild -project HabitTracker.xcodeproj -scheme HabitTracker
-destination ‘platform=iOS Simulator,name=iPhone 16 Pro,OS=18.6,arch=arm64’
CODE_SIGNING_ALLOWED=NO build
xcrun simctl install BOOTED_UDID …/HabitTracker.app xcrun simctl launch BOOTED_UDID com.example.HabitTracker
测试,无需我点击任何东西
这正是我想要的部分。Devin通过GUI驱动模拟器,按顺序点击了每个习惯,并录制了屏幕。
喝水 12变13。锻炼 5变6。阅读20分钟 8变9。冥想 3变4。每日进度环从0/4走到4/4,文案变为“每个习惯你都坚持了”。
点击测试中,四个习惯完成了三个
全部四个完成,4/4,所有进度环都填满了
然后它取消了“喝水”的完成状态,确认连续天数回到了12,计数器变为3/4——这个检查我自己可能就会跳过。
我最喜欢的细节是:它在动画过程中截取了帧,显示进度环部分填充,以证明弹簧动画确实在进行,而不是直接跳到完成状态。我自己不会想到要求这个。
我犯的一个小错误
我没有提前准备好GitHub方面的设置。 Devbox没有创建仓库所需的GitHub认证,CLI未登录,API返回401。Devin可以通过其git代理推送到现有仓库,但无法创建新仓库。它停下来询问,我手动创建了仓库,为此浪费了几分钟。请在开始前预先创建好仓库,或配置好令牌。
这是否完全从头到尾自动化了?
不是,但这是因为我。
我写了提示。我回答了一个关于GitHub的阻塞问题。我通过侧边聊天询问了两次进度如何——是为了在视频中展示侧边聊天功能。
在我这些干预之间的所有操作——Swift代码、构建、模拟器、点击测试、录制、提交、PR——都是代理完成的。
我不再是那个点击应用测试的人,而变成了阅读报告的人。两个PR被合并,一个用于应用本身,另一个用于一个可复用的iOS模拟器测试技能,这样下一个会话就不必重新摸索simctl的用法了。
这改变了什么
iOS开发的瓶颈从来不是编写SwiftUI代码。而是拥有一台用来编译的Mac——说实话,很多人在Windows或Linux机器上构建应用,他们不想或者负担不起一台Mac。
一个包含macOS和Xcode版本的蓝图移除了这个障碍,而且机器在会话结束后就会消失,因此你支付的是会话费用,而不是笔记本电脑的费用。
在Namespace的免费试用中,我没有花一分钱。
如果你使用Windows或Linux,这就是全部的解锁方案。你的机器负责编写提示和阅读报告,Mac的工作在其他地方完成,之后便消失了。
我不会假装一个习惯追踪器就能证明App Store的全流程。签名、描述文件、TestFlight、真实设备——这些都不在本次范围内,我也尚未在此设置中尝试过。
这是我接下来想尝试的事情。
下一步
你还想了解更多什么?
我已经写过反向的情况:Devin接管我自己的MacBook来测试Chrome扩展:
Chris W@Chris_Wozniczek·Aug 4I refused to test my chrome extension so Devin took over my mac and did it for me. ArticleDevin took my macbook, tested my app and saved me hours of clicking!I am not a frequent cloud agent user but I like to experiment with different solutions in order to achieve my goals. The goal here was simple.
Automate testing. Not just unit testing but the testing…34132K
如果你想查看关于Desktop、云端、CLI、Outposts、Fusion、Deepwiki的完整地图,从这里开始:
Chris W@Chris_Wozniczek·Aug 20I keep seeing these questions:
What’s Devin? What’s Devin Desktop? What happened to Windsurf?
I put it all in one place. Desktop, cloud, CLI, Outposts, Fusion, Deepwiki, review, testing, security.
if you feel lost, start here.
https://x.com/cognition/status/2085390050141810996/video/1… ArticleThe Ultimate Guide to Building Apps and Products in 2026 with Devin Local and CloudI have been reluctant to trying out cloud agents for a long time and got so used to my way of working using local agents. Now I use both but starting to push more work to the cloud. I spend most of my…62177K
乐意效劳,有需要随时告诉我,希望你喜欢这篇分享😉
相似文章
@dabit3: 新视频:如何在大约60秒内为云代理提供一台带有Xcode和iOS模拟器的真实Mac 此设置使每个云代理会话…
新的视频教程演示了如何在约60秒内为云代理提供带有Xcode和iOS模拟器的真实Mac环境,使用DevinAI和NamespaceLabs。
@PrajwalTomar_: 兄弟,这太疯狂了。我输入了一个提示词,就得到了一个完整的旅行应用。每个屏幕都设计好了,一个统一的系统,真实的…
一位开发者分享了一个工作流程,利用AI从单个提示词生成一个完整的、可发布的SwiftUI旅行应用,强调设计质量高于商品化的应用构建。
在 2026 年使用 SwiftUI 构建纯正的 Mac 应用
这篇文章讲述了作者完全使用 SwiftUI 构建 macOS 应用的经验,讨论了在实现原生 Mac 体验时遇到的挑战和限制,例如选中状态和非活动窗口的行为,并得出结论:SwiftUI 在 Mac 上尚不足以构建‘纯正 Mac’应用。
@dabit3: 新实验:我的云代理能否构建和测试多人iOS游戏?Devin连接到云中的Mac,启动一个…
Devin,一个云AI代理,通过启动Xcode、启动iPhone模拟器,并使用计算机视觉和程序信号进行验证,来自动化构建和测试多人iOS游戏。
@RayFernando1337: 在云端构建iOS应用!
Devin Cloud Agents 现在支持带有 Xcode 和 iOS 模拟器的 macOS 环境,使得无需 Mac 即可在云端开发 iOS 应用。