乐于分享
好东西不私藏

记录用gpt开发了两个ios app

记录用gpt开发了两个ios app

最近用GPT开发了两个APP,开发app过程比较简单的,最主要还是需求要清楚。简单记录下步骤,网上相关的内容也很多。我用的traecodex,方法都差不多。使用trae国际版的一个原因是使用gpt-5.4可以通过支付宝按量付费,比较方便。

一个是帮朋友给孩子学英语用的,她就是需要一个简单功能在本地播放英语音频的软件,可以按需要排计划,可以磨耳朵等等,还内置了一个音频播放器。

帮朋友做完这个app后我就膨胀了,看到自己一个早年在pc上的摸鱼小游戏color lines,便借助AI转移到ios上,并且增加了几个魔法道具。这次增加广告、内购和广告激励,关联的是google广告。

开发主要步骤:

1.整理需求。写出自己的想法,这个过程可以通过和AI的交互来逐步完善。比如第一APP,需求很简单,就是可以自动安排阅读计划,自己写不了几句话。通过和ai的对话逐步丰富,ai可能辅助发现前后逻辑的冲突。

2.原型设计。初步确定下APP有几个界面,总体风格,每个页面的功能,这个完全可以交个AI. 把确定的需求文档发给AI,让它根据这个文档,设计APP的界面,可以使用html格式,可以做交互。这样会快速得到index.html的原型设计,还可以做简单的交互。

3.完成上两步后,可以正式编码了。用Xcode创建一个项目,创建后会生成一个项目文件夹,在trae中打开这个文件夹,把需求文档和原型设计的截图一起上传至trae,让它开始按照需求进行编码就可以了。

网上可以找到一些对AI编程的skill和约束,可以放到这个文件夹里进行约束管理,要求AI遵循这些原则。比如ai-trae-rule,这里就不多写了。

即使这个需求文档和原型设计是AI生成的,它也不可能完全按照既定的要求完成编码,素材也会和原型设计中的不一样,这些都是需要后期测试或者重新找素材去更新。还有些其他方法可以检验代码,比如让AI去读这些代码,生成数据流程图;或者让它生成一遍注释;校验逻辑是否有冲突等等,检查方法也很多。

4.编译调试。这种APP编码过程完成的会很快,完成后在Xcode中进行编译,如果发生错误,直接把错误信息贴回trae,让其解决。基本上几个回合就全部完成了。我这两个APP首次编码完成也就一晚上的事。

5.测试和优化。这是一个真正耗费时间和token环节。AI并不会完全按照需求文档完成,其中的素材也不会和html中的一致,所以这个就需要慢慢调整。如果完全不会编码的话,这个环节和AI交互会特别多,而且AI修改的效果可能就是和你想象的不一样,可能最后只能妥协。

所以我觉得用户自己会编程依然非常重要,对Ai编程也要做到自主可控。如果完全给AI,特别在后期调整,比如版本更新,功能扩展,代价会特别大,可能会逐步陷入无法控制的境地。所以大点项目一定是拆分到最细,才可以交个AI来辅助完成。当然,一般自己做个小程序小APP什么的完全没问题。

举个比较好笑的例子。我的英语磨耳朵的APP逻辑中,GPT帮我设定的状态过于复杂。包含待定、计划中、学习中、已学习、已熏听、磨耳朵 六个状态。我觉得状态太多,流程过于复杂,要求修改为 未学习、已学完、已熏听、磨耳朵 四个状态。AI瞬间改完,当时我很惊讶,怎么会这么快,检查发现,逻辑一点没有变,它只是把前几个状态码全部映射成了“未学”。

var titleString { switchself { case .pending: return"未学" case .scheduled: return"未学" case .studying: return"未学" case .completed: return"已学完" case .archived: return"已熏听" case .reviewing: return"磨耳朵" } }

总体上效果非常好。我做了两个APP的成本如下:

1.Apple开发者:99

2.Trae6

3.Token300人民币,400人民币

4.阿里云:68人民币

合计花费了1500多元,游戏挂了google广告,截止到今天收益0.03美分。

Apple程序上架注意点,简单列几个:

1.避开“游戏”类别,国内游戏是需要注册许可的,个人无法获得,可以考虑教育-益智类型等。在APP中不能使用Game center了,否则apple的审批无法通过。所以我的小游戏在中国大陆、韩国、越南是无法上架的。

3.尽量事前确定好app的名称,是否已经在app store中存在了,后续修改name是非常费劲的,很多关联的id都要修改,很可能造成编译失败。

2.如果有同类题材的APP,而我们的软件界面过于简陋,或者和应用商店里其他类似app视觉上高度相似,他们可能会以应用商店已经有太多同类低质量产品为由拒绝你上架,需要体现你的app在这类题材里的不同之处。

4.素材最好单独处理,直接使用,很多素材在AI处理效果中非常不如意。

5.如果内置了购买功能,必须要有恢复购买按钮。

6.如果有注册功能,需要提供测试账号和密码。

7.如果内嵌广告,区分测试代码和生产代码,避免将测试行为认定为刷广告。

8.隐私信息,技术支持,需要有网站关联。我内嵌了google广告,还需要有一级域名可以访问app-ads.txt,我购买了阿里云的域名和服务器,一年68块。后来发现备案是不可能的,刚好用这个做了一个网站,就是上一篇里写的内容。

9.如果有广告,要注意电子税收表,苹果store上可以不填,google广告里需要填写,注意选择中国独立开发,在美国没有收入啥的。这个在网上找下相关资料。

10.隐私条款中注意选择app有没有收集用户隐私,收集的用途。

11.使用了加密技术,需要上传出口合规证明文稿,我是选错选项造成的。

12.构建版本和game center注意兼容以前版本,app store connect里一起提交审批。

差不多就这些吧,总的来说作用非常大,可以帮我们完成自己想要的东西。但也算是给互联网贡献了点垃圾代码吧。