ARTICLE · 1232144
我的天啊,我居然让Ai帮我写了个App,装在我手机上……
这次我是抱着玩的心态,做了一个实验。
我突然有个想法:能不能自己写一个程序,装在自己的手机里面?以后想要什么样的小工具,就让 AI 帮我做一个,自己用。
做个什么呢?
我平时不是要拍口播视频吗?用前置摄像头的时候,总觉得取景范围比较窄,人像显得太大。
那能不能自己做一个摄像软件,再加上调亮度、美颜、收音、提词这些功能?
我就把想法告诉了 AI,来回讨论,把第一版要做什么确定下来,然后让它开始写。
最后还真装进手机了。

我已经试过,能正常摄像,也能把视频保存到系统相册。
下面把这次怎么做的、怎么安装的,以及中间碰到的问题,全部分享出来。有 Mac 和 iPhone 的朋友,也可以找一个自己的小需求玩一玩。

一、先把想法告诉 AI
这次我用的是 Codex。
我最开始的想法很简单:做一个适合自己拍口播的 App,前置取景宽一点,能调亮度,带一些常用功能。
讨论的时候,AI 先帮我确认了一个限制:
软件不能突破摄像头本身的取景范围。可以尽量减少额外裁切,但不能凭空变出后置 0.5 倍超广角的效果。
所以,这次先做一个能拍摄、能保存的版本,再慢慢调整其他功能。
这里也交代一下:摄像和保存,我已经验证了。到底比系统相机多拍进多少画面,还要固定机位做对比,不能先说已经解决。
你也可以把自己的需求,按这个方式告诉 AI:
我想做一个装在自己 iPhone 上使用的原生 App。
我的手机型号是……
我平时在……场景下,会遇到……问题。
我希望这个 App 能做到……
请先和我讨论哪些能实现,再确定第一版功能,生成可以在 Xcode 打开的完整工程,并带我完成编译、安装和手机测试。
先从自己想用的小功能开始。我这次给第一版定的验收动作就是:
打开 App,拍一段视频,保存到手机相册。
你做别的应用,也给它定一个这样的动作。

二、让 AI 写出完整工程
需求确定之后,就让 AI 开始开发。
这里要注意,你需要的是一个能打开、能编译的完整工程。
我拿到的工程,大致是这样的:
ZhouCamera/ ├── ZhouCamera.xcodeproj ├── ZhouCamera/ │ ├── ZhouCameraApp.swift │ ├── ContentView.swift │ └── CameraModel.swift └── 使用说明.md 对第一次做的人来说,先知道这几件事就够了:
.xcodeproj是工程入口,用 Xcode 打开。 页面、按钮和相机录制逻辑,都在工程里面。 使用说明里,要写清楚怎么安装、哪些功能做了、哪些还没验证。
可以直接要求 AI:
请交付完整工程和使用说明,不要只给零散代码。完成后检查能否编译,并明确说明还需要哪些真机验证。
我这次做出了亮度调节、柔肤、冷暖、麦克风选择、提词、倒计时等功能。
不过,第一版的柔肤和冷暖是在录完后处理,预览还是原始画面。这些效果也需要继续逐项测试。
三、在 Mac 上安装 Xcode
代码写好了,还需要一个工具,把它编译成手机能运行的 App。
这个工具就是苹果的 Xcode。
操作步骤:
在 Mac 上打开 App Store。 搜索 Xcode,确认开发者是 Apple。 点击“获取”,等待下载安装。 安装完成后打开 Xcode。 阅读许可协议,如果同意,自己点击 Agree。 按提示完成需要的开发组件安装。
第一次打开可能还要下载组件,等它完成。
这一步做完,应该能正常进入 Xcode,不再停在初始化窗口。
四、打开工程,先检查能不能编译
解压 AI 给你的工程。 双击里面的 .xcodeproj文件。在 Xcode 里选择对应的项目。 点击菜单 Product → Build,或者按快捷键 ⌘B。 等待编译结果。
如果显示:
Build Succeeded
说明编译通过了。
如果报错,就把错误原文交给 AI,让它修复,再重新编译。
可以这样说:
这是 Xcode 的编译错误,请先找出真正阻止编译的问题,修改当前工程,再重新编译验证。
这里别混淆:编译成功,只说明这一步通过了。接下来还要签名、安装,再到手机上实际使用。
五、把 iPhone 连接到 Mac
准备一根能传输数据的数据线,把手机和电脑连起来。
然后:
解锁 iPhone。 如果出现“信任此电脑”,确认是自己的电脑后,点击“信任”。 在手机输入锁屏密码。 查看 Xcode 顶部的设备列表,确认能找到自己的 iPhone。
如果找不到,先检查手机有没有解锁、数据线能不能传输数据,以及有没有完成信任。
接着,开启手机的开发者模式:
设置 → 隐私与安全性 → 开发者模式
打开开关,按提示重启手机。重启之后,还需要再次确认开启。
这一步完成后,继续保持手机与电脑连接。
如果设置里暂时没有开发者模式,先在 Xcode 里完成手机连接和设备选择,再回手机查看。
六、在 Xcode 登录自己的 Apple 账号
在 Mac 顶部菜单打开:
Xcode → Settings → Apple Accounts
有些版本叫 Accounts。
点击登录,输入自己的 Apple 账号,完成密码和验证码验证。
密码和验证码自己在苹果的窗口里面输入,不用发给 AI。
我这次就在这里卡过一次。
到了输密码的页面,窗口没有反应,“继续”和“取消”都点不了。
最后的处理方法是:
确认工程已经保存。 按 ⌘+⌥+Esc。 选中 Xcode,强制退出。 重新打开 Xcode。 再从 Settings → Apple Accounts 进入登录。
重新打开后,我就登录成功了。
如果你碰到的是密码错误、验证码失败,就按具体提示处理,别把所有登录问题都当成窗口卡死。
七、选择自己的开发团队,给 App 签名
账号登录之后,还要告诉 Xcode:这个 App 用哪个账号来签名。
操作步骤:
点击左侧最上面的蓝色项目图标。 在 TARGETS 下面选择自己的 App。 打开 Signing & Capabilities。 勾选 Automatically manage signing。 在 Team 里面,选择自己的 Personal Team。 检查 Bundle Identifier。
Bundle Identifier 可以理解成应用的唯一标识,例如:
com.yourname.talkingcamera 用自己的标识。如果提示被占用,就让 AI 帮你换一个。
如果你看到这个错误:
Signing requires a development team 就先回来检查 Team 有没有选好。
这次我用的是个人团队,没有购买开发者会员。
但要提前知道:按照苹果目前的说明,个人团队的安装描述文件有效期是 7 天,到期后需要重新编译安装。它适合自己开发测试,不能当成永久安装方案。
八、把 App 安装到手机
签名配置好之后:
在 Xcode 顶部选择自己 iPhone 的名字。 点击左上角的三角形运行按钮,或者按 ⌘R。 保持数据线连接。 保持手机解锁。 等待编译、签名和安装完成。
这里有个地方容易选错。
Any iOS Device 是编译目标,不是你的手机。真正安装运行时,要选择自己手机的名字。
如果提示手机需要解锁,就解锁,再点击 Retry。
手机上出现 App 图标,才算安装这一步有了结果。
九、我这次安装时,还碰到了一个问题
我的 App 已经编译通过,签名也配置好了,但安装一直失败。
提示大概是:
The developer disk image could not be mounted on this device. 后面查日志,还出现了:
401 / 3501 这时候卡的是手机开发支持组件的验证。
我们试了重新安装、重新连接、重启手机,也检查了组件更新,还是没有解决。
最后,我把 Mac 重启了一次。
重新打开,连接并解锁手机,再安装,成功了。
所以遇到这种情况,先别急着让 AI 重写代码。把完整错误交给它,先判断到底是编译、签名,还是设备准备的问题。
这次实际的排查顺序,可以留作参考:
确认手机已经连接、解锁。 确认开发者模式已经开启。 确认签名团队已经选好。 检查 Xcode 的组件和设备支持。 保存电脑上的工作,重启 Mac 后再试。
我这里只能确认:这次重启 Mac 后,安装成功了。
具体根因还没查清,也不能保证所有类似报错都能靠重启解决。
十、首次打开,完成信任和权限设置
安装完成后,如果手机提示开发者未受信任,可以进入:
设置 → 通用 → VPN 与设备管理
找到自己签名账号对应的开发者 App,确认是自己的账号和应用,再按页面提示完成信任或验证。
然后回到桌面,打开 App。
拍摄软件需要用到相机、麦克风,保存视频还需要添加照片的权限,按实际用途允许即可。
如果没有看到信任选项,或者仍然打不开,就把手机和 Xcode 的完整提示交给 AI。启动失败也可能是签名问题,不能一概当成没有点信任。
十一、最后一步,亲自在手机上验证
到了这里,先别忙着把所有功能都试一遍。
先拍一段:
打开 App,确认能看到前置摄像头画面。 点击开始录制,说几句话。 结束录制,等待保存。 打开手机系统相册。 找到刚才拍的视频,播放检查。
我这次已经确认,手机能正常摄像,视频也能正常保存到相册。
然后再慢慢测试亮度、美颜、提词、外接麦克风这些功能。
以后想改功能,就让 AI 修改原来的工程,再连接手机,用同一个开发团队和应用标识重新运行安装。
工程和源码要留好。到期需要重新安装,或者以后想继续改,都还要用到它。
这就是我这次抱着玩的心态,做的一个小实验。
从“我能不能自己做个手机程序”,到提出一个拍口播的需求,再到 AI 写出来、装进手机、实际摄像并保存,这条流程跑通了。
现在它还只是一个需要继续调整的小工具。
但以后再碰到一个自己想用的功能,我就可以拿出来试试:先把需求讲清楚,让 AI 帮我做,再装到手机上

















































































