TradaZen 案例:独立开发者上架 iPhone 应用全过程
作者:Mehdi Azizi
更新于 ,8分钟
TradaZen 从首次提交到上架只用了 26 天,期间经历被拒、广告教训和两次转型。
TradaZen 简介
TradaZen 是一款用真实市场数据练习交易的 iPhone 应用。我一个人用 Claude Code 把它做出来并上线,而我本职并不是 iOS 开发者。下面一步步讲它的经历。
| 阶段 | 日期 |
|---|---|
| 首次提交 | 2026 年 6 月 21 日 |
| TestFlight 上的第一个构建 | 2026 年 6 月 25 日 |
| 在 App Store 上架销售 | 2026 年 7 月 17 日 |
| 第一次转型:基于真实行情的模拟器 | 2026 年 9 月 13 日 |
| 第二次转型:Duolingo 式的学习路径 | 2026 年 9 月 22 日 |
如果你想做出你的第一个应用,重点看 Apple 拒审和转型这两部分。这是最浪费时间的两个地方。

最初的想法:带 AI 教练的交易日志
TradaZen 的第一个版本是交易日志。你记录自己的每笔交易,一个 AI 伙伴帮你保持纪律:交易前打一次卡,交易后再打一次,还会提醒你注意 FOMO 和亏损后的报复性交易。
有一条规则始终不变:重过程,不重盈利。评分奖励的是纪律,从不奖励赚了多少钱。这条规则在两次转型后依然保留。
用 Claude Code 快速开发

技术栈和我所有应用一样:React Native、Expo,构建用 EAS,服务端用 Supabase,订阅用 RevenueCat。具体方法我在 Claude Code 教程里一步步讲过。
首次提交四天后,应用已经在 TestFlight 上跑起来,带引导流程、付费墙和演示模式。这就是 AI 真正改变的地方:初版做得非常快。
它没有改变的是验证。我所有自动化测试都是绿的,可就在那天,我自己玩的时候发现有一节课永远结束不了。测试通过不代表应用能用:你得亲自用。
Apple 的拒审
第一次提交是 7 月初。它“等待中”挂了一个多星期,Apple 一句话都没说,后来我撤回了,换了个新构建重新提交。接着就是接二连三的拒审。
- 权限提示文案。 应用已翻译成多种语言,但 iOS 的权限提示还是法语。修复:把每条提示翻译成每种语言。
- 准则 5.1.1 和 5.1.2,个人数据。 同意把数据发给 AI 是通过一个被截断的弹窗完成的,而且只在发第一条消息时出现。修复:在发送任何数据之前,做一个真正的授权同意页面。
- 准则 3.1.2(c),订阅。 每周价格比实际扣款金额更显眼。修复:突出实际扣款价格,每周价格放在次要位置。
- ITMS-91064,提交下一个版本时。 应用的隐私清单声明了广告追踪,却没列出相关域名。修复:在应用配置里加上这些域名。
7 月 17 日,第一个版本上架销售。这些理由没有一个是代码层面的技术问题:全都关乎用户的信任、数据和钱。Apple 在这些方面毫不让步。常见的坑我在Apple 为什么拒绝你的应用和准则 2.1 指南里都详细讲过。
Apple Search Ads 广告教给我的事
一上线,我就在法国投放了 Apple Search Ads 广告,之后又扩展到其他国家。三个教训:
- 需求比点击价格更重要。 如果很少有人在 App Store 搜你的关键词,出价再高也没用。
- 英语国家很贵。 最好等产品页和付费墙打磨好了再去。
- 一开始先关掉自动匹配。 在财务类别里,Apple 把应用投到了银行相关的搜索上,完全不相干。
教训:花钱投广告之前,先确认已经有人在搜你卖的东西。
我为什么全部推倒重来
大家会安装应用,但它的承诺没能让人想继续用下去。部分问题出在付费墙本身:按钮写的是“继续”,而不是说免费试用,还有一个 bug 让本有资格的人看不到试用优惠。这个我修好了。
但根本问题在别处:“交易者的心理教练”,没有人早上醒来会去搜这个。新手交易者想要的是练习。
最常见的付费墙错误我在这篇指南里详细讲了。它们危险在于看不见:应用看起来运行正常,你却不知道自己损失了什么。
转型 1:基于真实图表的模拟器
9 月 13 日,TradaZen 变成了“TradaZen:交易模拟器”。原理一句话就能说清:某个真实日期的真实图表,后续走势被隐藏;你选做多或做空,然后市场揭晓它当时真实的走向。
我去掉了 AI 伙伴,并用多种语言重写了 App Store 产品页。结果:中国、德国和日本都有人来试用,而我在这些国家从没投过广告。
转型 2:交易界的 Duolingo
一周后,又有了新发现。玩家在第一次使用时会一局接一局地玩,但没有什么能给他们第二天回来的理由。
9 月 22 日上线的版本加入了 Duolingo 这类应用让人每天回来的东西:
- 一条课程路径,从 K 线基础一直到交易员这份职业;
- 连续天数、每日任务和宝箱;
- 每周联赛和好友。
核心不变:真实数据,绝不承诺收益。
定价:要测试,但要测对地方
我多次调整了价格档位和付费墙的呈现方式。现在主推的是带免费试用的年度订阅,另有按周订阅,给想先试试又不想长期绑定的人。
改价格本身没问题。真正的坑是问题明明在别处,你却去动价格。对 TradaZen 来说,该改的是承诺,不是价格。如果你在订阅和一次性购买之间犹豫,看看这篇对比。
如果重来,我会怎么做
- 写代码前先验证需求。 在写第一行代码前,看看大家在多个国家的 App Store 里实际搜什么。
- 验证承诺,而不是应用。 一个 App Store 产品页加一个付费墙,就足以看出大家想不想试。
- 第一天就准备好 Apple 的规则:授权同意、价格展示、翻译。这些拒审本可以完全避免。
- 立刻翻译产品页。 有些试用来自我从没投过广告的国家。
- 每天玩自己的应用。 测试发现不了一节无限循环的课,玩家能。
这对你的第一个应用意味着什么
上线一个应用不是一条直线:承诺定错、被 Apple 拒、广告不是万能的,然后修正、重来,而且每次都更快。
区别在于知道每个阶段该看什么。这些我都放进了 iOS Kit:我应用的起步代码,加上一条四步路径,让你的第一个应用少走 TradaZen 的弯路。首页展示了如何用这套代码和 Claude Code(我开发 TradaZen 用的工具)做一个移动应用。
常见问题
TradaZen 案例对上架 iPhone 应用有什么启示?
写代码前先验证需求,看看大家在多个国家的 App Store 里搜什么。验证承诺而不是应用:一个 App Store 产品页加一个付费墙就足以看出大家想不想试。第一天就准备好 Apple 的规则,立刻翻译产品页,并且每天玩自己的应用。
TradaZen 是怎么用 Claude Code 开发的?
我一个人用 Claude Code 上线了 TradaZen,本职并不是 iOS 开发者。技术栈和我所有应用一样:React Native、Expo,构建用 EAS,服务端用 Supabase,订阅用 RevenueCat。AI 加快的是初版,而不是验证:测试通过不代表应用能用,你得亲自用。具体方法见我的 Claude Code 教程。
TradaZen 从开发到上线用了多久?
TradaZen 从首次提交(2026 年 6 月 21 日)到在 App Store 上架销售(2026 年 7 月 17 日)共 26 天。第一个构建在 6 月 25 日上了 TestFlight,距首次提交四天。上架前,第一次提交挂在等待中一个多星期,Apple 一句话没说,后来我撤回并换了新构建重新提交。
TradaZen 被 Apple 拒了哪些理由?
四个理由,全都关乎用户的信任、数据或钱。应用已翻译,但 iOS 权限提示还是法语;同意把数据发给 AI 是通过一个被截断的弹窗完成的(准则 5.1.1 和 5.1.2)。每周价格比实际扣款金额更显眼(3.1.2(c))。应用的隐私清单声明了追踪却没列出域名(ITMS-91064)。
投放 Apple Search Ads 有什么经验?
花钱投广告前,先确认已经有人在搜你卖的东西:需求比点击价格更重要。英语国家很贵,所以等产品页和付费墙打磨好了再去。一开始也要关掉自动匹配:在财务类别里,Apple 把应用投到了不相干的银行搜索上。
TradaZen 为什么两次改变产品概念?
因为它的承诺没能让人想继续用下去:“交易者的心理教练”,没有人会去搜。该改的是承诺,不是价格。9 月 13 日,TradaZen 变成基于真实图表的模拟器;9 月 22 日,又加入 Duolingo 式的学习路径,给了用户每天回来的理由。