大字農民曆 App:技術清單與被拒的過程
大字農民曆是一款給長輩看的農民曆 App:字大、每日宜忌、神明生日提醒。做完送審被 Apple 拒絕,目前沒有上架。這篇整理它用到的技術和過程。
基本資料
- 平台:iPhone / iPad,iOS 17 以上
- 規模:Swift 16 個檔案、約 2,700 行
- 開發時間:3 天(2026-03-27 ~ 03-29)
- 內容:2026~2027 年共 730 天的農民曆、33 位神明、112 個宜忌詞
App 端
- SwiftUI:首頁仿傳統農民曆版面,農曆直書、天干地支、生肖
- 離線優先:農民曆資料打包在 App 內的 JSON,開啟不用等網路;有新版資料時再線上下載
- Sign in with Apple:只有訂閱神明生日提醒時才需要登入
- Firebase Messaging:神明生日推播
- Firebase Analytics:使用數據
- UserNotifications:檢查通知權限,沒開時引導到設定
後端
用既有的 Laravel 專案,加一組 alm: 開頭的 artisan 指令:
- 6tail/lunar-php:計算每天的農曆、宜忌、節氣
- 匯出指令:把資料庫內容輸出成 App 用的 JSON,附版本號和 checksum
- API:Apple 登入、資料版本檢查、下載資料、訂閱開關、上傳推播 token
- 每日排程:每天 08:00 檢查有哪些神明生日(含提前幾天提醒),透過 FCM 推播給訂閱的人
開發過程
| 日期 | 重點 |
|---|---|
| 03-27 | 初版:復古農民曆首頁、大字日曆列表、神明列表、設定頁 |
| 03-29 | 接 FCM 推播、登出與刪除帳號 |
| 03-29 | 改名「大字農民曆」、App Icon、字體再放大,送審 |
| 03-31 | 第一次被拒,當天重新送審 |
| 04-04 | 第二次被拒,之後沒有再送 |