iPhone 灵动岛自选股信息流 App。在 Dynamic Island 上展示自选行情,支持伪装皮肤、多股轮播、翻转隐藏与 OCR 截图导入。
- Xcode 16+(当前工程适配 iOS 17.0+)
- iPhone 14 Pro 及以上(完整 Dynamic Island 体验)
- 真机调试 Live Activity(模拟器不支持灵动岛)
- 打开工程:
open FlashIsland.xcodeproj-
在 Xcode 中选择你的 Development Team(Signing & Capabilities)。
-
连接真机,Run
FlashIslandscheme。 -
首次运行:
- 在「自选」页搜索添加股票(如
600519或茅台) - 点击「启动灵动岛」
- 切到后台即可在 Dynamic Island 看到 compact 态
- 在「自选」页搜索添加股票(如
若修改了 project.yml:
# 需安装 XcodeGen:https://github.com/yonaskolb/XcodeGen
xcodegen generateFlashIsland/
├── FlashIsland/ # 主 App
│ ├── App/ # 入口与 Tab
│ ├── Core/ # Services、Store、Models
│ └── Features/ # 自选、设置、会员
├── FlashIslandWidget/ # Live Activity + 紧急 Widget
├── Shared/ # 主 App 与 Widget 共享代码
└── docs/PRD.md # 产品功能设计文档
| 模块 | 功能 |
|---|---|
| 自选 | 东财搜索、本地 SwiftData 存储、左滑删除、拖拽排序 |
| 灵动岛 | Live Activity 四态、Sparkline、5 种皮肤、多股轮播 |
| 行情 | 腾讯/东财/Yahoo 多源 fallback + 本地缓存 |
| 安全 | 翻转扣机隐藏、桌面紧急 Widget |
| OCR | Vision 截图识别 A 股/美股/港股代码 |
| 会员 | Paywall UI(开发模式可一键解锁 Premium) |
在「会员」页点击任意购买按钮,开发模式下会本地解锁 Premium(UserDefaults),便于测试轮播、伪装皮肤等功能。
无需 $99/年 即可在自己的 iPhone 上开发测试。步骤:
- Xcode → Settings → Accounts → 添加
Apple ID - Team 选
你的名字 (Personal Team)(不要选无付费资格的组织 Team) - FlashIsland 与 FlashIslandWidgetExtension 两个 target 都要选同一 Team
- Bundle ID 冲突时,在
project.yml改bundleIdPrefix后执行xcodegen generate
| 报错 | 处理 |
|---|---|
| Failed to retrieve development teams | 浏览器登录 developer.apple.com 同意协议;Xcode 删账号重加;检查网络/代理 |
| maximum number of registered iPhone devices | Devices 列表 删除不用的旧 iPhone(免费账号上限 3 台) |
| not eligible for this feature | 确认选 Personal Team;工程已移除需付费的 NSSupportsLiveActivitiesFrequentUpdates(推送高频更新) |
| App 7 天后打不开 | 免费账号正常,重新 Run 安装即可 |
| 能力 | Personal Team(免费) | 付费 $99/年 |
|---|---|---|
| 真机调试 Live Activity | ✅ | ✅ |
| 上架 App Store | ❌ | ✅ |
| TestFlight | ❌ | ✅ |
| Live Activity 推送高频更新 | ❌ | ✅ |
| 注册设备数 | 3 台 iPhone | 100 台/年 |
- 行情数据来自公开免费 API,非实时,仅供参考
- Live Activity 最长活跃 8 小时(系统限制)
- 后台刷新依赖
BGAppRefreshTask,频率由系统调度 - 正式发布前需接入 RevenueCat + 真实 StoreKit 商品
本 App 仅展示公开行情数据,不构成任何投资建议。