# TradaZen 案例：独立开发者上架 iPhone 应用全过程

> TradaZen 从首次提交到上架只用了 26 天，期间经历被拒、广告教训和两次转型。

原始页面：[TradaZen 案例：独立开发者上架 iPhone 应用全过程](https://devoria.fr/zh-hans/blog/tradazen-case-study-launch-iphone-app)
作者：[Mehdi Azizi](https://devoria.fr/zh-hans/mehdi-azizi)
发布：2026-09-24
内容最后修订：2026-10-09


## 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 日 |

如果你想[做出你的第一个应用](https://devoria.fr/zh-hans/blog/how-to-create-an-app-4-steps)，重点看 Apple 拒审和转型这两部分。这是最浪费时间的两个地方。

![一台 iPhone 13 显示 TradaZen 的 App Store 页面，已上架销售。](https://devoria.fr/ios/visuels/iphone-app-store-1600.webp)

## 最初的想法：带 AI 教练的交易日志

TradaZen 的第一个版本是交易日志。你记录自己的每笔交易，一个 AI 伙伴帮你保持纪律：交易前打一次卡，交易后再打一次，还会提醒你注意 FOMO 和亏损后的报复性交易。

有一条规则始终不变：**重过程，不重盈利**。评分奖励的是纪律，从不奖励赚了多少钱。这条规则在两次转型后依然保留。

## 用 Claude Code 快速开发

![一台 MacBook Pro 上，Claude Code 正在修改 TradaZen 的课程界面，旁边是 iPhone 13 模拟器。](https://devoria.fr/ios/visuels/macbook-claude-code-1600.webp)

技术栈和我所有应用一样：React Native、Expo，构建用 EAS，服务端用 Supabase，订阅用 RevenueCat。具体方法我在 [Claude Code 教程](https://devoria.fr/zh-hans/blog/claude-code-iphone-app-tutorial)里一步步讲过。

首次提交四天后，应用已经在 TestFlight 上跑起来，带引导流程、付费墙和演示模式。这就是 AI 真正改变的地方：初版做得非常快。

它没有改变的是验证。我所有自动化测试都是绿的，可就在那天，我自己玩的时候发现有一节课永远结束不了。**测试通过不代表应用能用：你得亲自用。**

## Apple 的拒审

第一次提交是 7 月初。它“等待中”挂了一个多星期，Apple 一句话都没说，后来我撤回了，换了个新构建重新提交。接着就是接二连三的拒审。

- **权限提示文案。** 应用已翻译成多种语言，但 iOS 的权限提示还是法语。修复：把每条提示翻译成每种语言。
- **准则 5.1.1 和 5.1.2，个人数据。** 同意把数据发给 AI 是通过一个被截断的弹窗完成的，而且只在发第一条消息时出现。修复：在发送任何数据之前，做一个真正的授权同意页面。
- **[准则 3.1.2(c)](https://devoria.fr/zh-hans/blog/guideline-3-1-2-subscription-rejection-paywall)，订阅。** 每周价格比实际扣款金额更显眼。修复：突出实际扣款价格，每周价格放在次要位置。
- **ITMS-91064，提交下一个版本时。** 应用的隐私清单声明了广告追踪，却没列出相关域名。修复：在应用配置里加上这些域名。

7 月 17 日，第一个版本上架销售。这些理由没有一个是代码层面的技术问题：全都关乎用户的信任、数据和钱。Apple 在这些方面毫不让步。常见的坑我在[Apple 为什么拒绝你的应用](https://devoria.fr/zh-hans/blog/apple-app-rejection-reasons-real-cases)和[准则 2.1](https://devoria.fr/zh-hans/blog/app-store-guideline-2-1-rejection-fix) 指南里都详细讲过。

## Apple Search Ads 广告教给我的事

一上线，我就在法国投放了 Apple Search Ads 广告，之后又扩展到其他国家。三个教训：

- **需求比点击价格更重要。** 如果很少有人在 App Store 搜你的关键词，出价再高也没用。
- **英语国家很贵。** 最好等产品页和付费墙打磨好了再去。
- **一开始先关掉自动匹配。** 在财务类别里，Apple 把应用投到了银行相关的搜索上，完全不相干。

教训：**花钱投广告之前，先确认已经有人在搜你卖的东西**。

## 我为什么全部推倒重来

大家会安装应用，但它的承诺没能让人想继续用下去。部分问题出在付费墙本身：按钮写的是“继续”，而不是说免费试用，还有一个 bug 让本有资格的人看不到试用优惠。这个我修好了。

但根本问题在别处：“交易者的心理教练”，没有人早上醒来会去搜这个。新手交易者想要的是练习。

最常见的付费墙错误我在[这篇指南](https://devoria.fr/zh-hans/blog/ios-paywall-beginner-mistakes)里详细讲了。它们危险在于看不见：应用看起来运行正常，你却不知道自己损失了什么。

## 转型 1：基于真实图表的模拟器

9 月 13 日，TradaZen 变成了“TradaZen：交易模拟器”。原理一句话就能说清：某个真实日期的真实图表，后续走势被隐藏；你选做多或做空，然后市场揭晓它当时真实的走向。

我去掉了 AI 伙伴，并[用多种语言重写了 App Store 产品页](https://devoria.fr/zh-hans/kits/aso)。结果：中国、德国和日本都有人来试用，而我在这些国家从没投过广告。

## 转型 2：交易界的 Duolingo

一周后，又有了新发现。玩家在第一次使用时会一局接一局地玩，但没有什么能给他们第二天回来的理由。

9 月 22 日上线的版本加入了 Duolingo 这类应用让人每天回来的东西：

- 一条课程路径，从 K 线基础一直到交易员这份职业；
- 连续天数、每日任务和宝箱；
- 每周联赛和好友。

核心不变：真实数据，绝不承诺收益。

## 定价：要测试，但要测对地方

我多次调整了价格档位和付费墙的呈现方式。现在主推的是带免费试用的年度订阅，另有按周订阅，给想先试试又不想长期绑定的人。

改价格本身没问题。真正的坑是问题明明在别处，你却去动价格。对 TradaZen 来说，该改的是承诺，不是价格。如果你在订阅和一次性购买之间犹豫，看看[这篇对比](https://devoria.fr/zh-hans/blog/ios-app-subscription-vs-one-time-purchase)。

## 如果重来，我会怎么做

1. **写代码前先验证需求。** 在写第一行代码前，看看大家在多个国家的 App Store 里实际搜什么。
2. **验证承诺，而不是应用。** 一个 App Store 产品页加一个付费墙，就足以看出大家想不想试。
3. **第一天就准备好 Apple 的规则**：授权同意、价格展示、翻译。这些拒审本可以完全避免。
4. **立刻翻译产品页。** 有些试用来自我从没投过广告的国家。
5. **每天玩自己的应用。** 测试发现不了一节无限循环的课，玩家能。

## 这对你的第一个应用意味着什么

上线一个应用不是一条直线：承诺定错、被 Apple 拒、广告不是万能的，然后修正、重来，而且每次都更快。

区别在于知道每个阶段该看什么。这些我都放进了 [iOS Kit](https://devoria.fr/zh-hans/kits/ios)：我应用的起步代码，加上一条四步路径，让你的第一个应用少走 TradaZen 的弯路。首页展示了如何用这套代码和 Claude Code（我开发 TradaZen 用的工具）[做一个移动应用](https://devoria.fr/zh-hans)。

## 常见问题

### TradaZen 案例对上架 iPhone 应用有什么启示？

写代码前先验证需求，看看大家在多个国家的 App Store 里搜什么。验证承诺而不是应用：一个 App Store 产品页加一个付费墙就足以看出大家想不想试。第一天就准备好 Apple 的规则，立刻翻译产品页，并且每天玩自己的应用。

### TradaZen 是怎么用 Claude Code 开发的？

我一个人用 Claude Code 上线了 TradaZen，本职并不是 iOS 开发者。技术栈和我所有应用一样：React Native、Expo，构建用 EAS，服务端用 Supabase，订阅用 RevenueCat。AI 加快的是初版，而不是验证：测试通过不代表应用能用，你得亲自用。具体方法见我的 [Claude Code 教程](https://devoria.fr/zh-hans/blog/claude-code-iphone-app-tutorial)。

### 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 式的学习路径，给了用户每天回来的理由。


## 你的项目

[ASO Kit](https://devoria.fr/zh-hans/kits/aso)：关键词方法、商店页面模板，以及把你的 App Store 页面翻译成 30 种语言的 skill。29,99 €。

[iOS Kit](https://devoria.fr/zh-hans/kits/ios)：用 Claude Code 做你的 iPhone App：我自己 App 的起步代码、检查其工作的 skills，以及 Apple Review Kit、App Store Screenshots Kit 和 ASO Kit。129,99 €。
