v0 擅长过去大多数人最头疼的那一步:做出一个看起来对的界面。它也往往是“这能做成 iPhone App 吗”最早被问出来的地方,常常在有名字之前。
v0 做的是网页界面
v0 用 Next.js、Tailwind 和 shadcn/ui 生成代码,在浏览器里预览,部署到 Vercel。结果是一个网站,不管界面看起来多像 App。没有 iOS 构建,也没有 App Store 提交。
这与其说是缺陷,不如说是边界。v0 是为网页而做的。iOS App 是另一个东西,得用 Apple 的框架来做,问题只在于谁用你手里的东西把它做出来。
你手里有什么
聊天窗口背后,一个 v0 项目通常是一套用 shadcn/ui 组件的 Next.js 代码。它留下两样东西,任何一样都可以作为你留下的链接。
有些 v0 项目连了数据库或 API,有些还是盖在占位数据上的前端。两种都可以开始:后端留在原地,占位数据在你决定之前也可以继续是占位数据。
通往 iPhone App 的三条路
套壳。给你的 Vercel 部署套一个原生壳。这条路最快,但一个只包着你网址的 WebView,在 Apple 眼里还是网站:审核指南 4.2 要求 App 的功能、内容和界面要超出“重新打包的网站”。
用 React Native 重写。把组件改写成 React Native,再跑 Expo 构建。你得到一个真 App,但是跨平台的,带着自己的运行时,在 iOS 上有自己的一套观感。
带到 AirBuild。AI 团队把你的 v0 界面当作设计稿,据此做一个原生 SwiftUI App:同样的界面,换成 iOS 的控件,App Review 也一并处理。
界面怎么变成 SwiftUI
你设计的页面保留结构和文字,每个网页控件换成做同一件事的 iOS 控件。
- 数据表格带筛选和排序List可以左滑的行,下拉刷新
- 对话框Dialog表单从底部升起,下滑关闭
- 选项卡Tabs分段控件或者 Form 里一个选项卡一节
- 命令菜单⌘K 搜任何东西搜索框在列表顶部
- 下拉菜单Dropdown menuMenu从工具栏按钮弹出
- 侧边栏导航Sidebar标签栏三到五个标签
配色、字体和间距在 iOS 允许的范围内尽量带过去;v0 用网页字体的地方,换成系统字体和动态字号,让文字跟着用户的字号设置走。
怎么带到 AirBuild
留下链接
加入候补名单时,填上你 v0 项目的部署地址或它同步到的 GitHub 仓库,再用一句话说说 iOS 版要做什么、给谁用。
AI 团队用 SwiftUI 把界面重新做一遍
AirBuild 的设计和工程 agent 读懂你的界面、它们的结构和文案,用 SwiftUI 视图重新做出来,配上 iOS 的导航和控件。你的 v0 项目原封不动,你继续在 v0 里迭代它。
在 iPhone 上试,然后 App Review
App 通过 TestFlight 装到你的手机上,你试用,用大白话提修改。准备好后,AirBuild 准备 App Store 页面、提交、跟踪审核、回复审核员、修掉他们提出的问题,再重新提交。
需要准备什么
- 你 v0 项目的部署链接,或它的 GitHub 仓库。
- 哪些界面最重要。三个必须做对的界面,胜过十二个可有可无的。
- Apple Developer Program 会员资格,或者在提交前完成注册的计划。
- 一个隐私政策地址。Apple 要求提供,App Store Connect 没有它不接受提交。
常见问题
v0 能做手机 App 或 iOS App 吗?
不能。v0 用 Next.js、Tailwind 和 shadcn/ui 生成网页界面,部署在 Vercel 上。没有 iOS 构建,也没有 App Store 提交。
能把 v0 的部署地址包进原生壳里吗?
可以,但审核指南 4.2 要求 App 的功能、内容和界面要超出“重新打包的网站”。包着 vercel.app 地址的壳正是这种东西,经常被拒。
SwiftUI 版会和我的 v0 设计长得一样吗?
会保留你的设计:同样的结构、文案、配色和层级,只是 v0 用网页控件的地方换成 iOS 控件。告诉我们哪些界面最重要。
我的 v0 项目还没有后端,有问题吗?
没有。如果你的项目还跑在占位数据上,加入候补名单时说一声,我们围绕现有的东西规划 iOS App。
需要 Mac 或 Xcode 吗?
都不需要。AirBuild 的 AI 团队可以跑在 Mac 上或云端,App 通过 TestFlight 装到你的 iPhone。发布上架需要 Apple Developer Program 会员资格。
iOS App 的代码归谁?
归你。你的 v0 代码是你的,AirBuild 据此构建的 SwiftUI 项目也是你的。