📋 RestBud · Apple 上架時程
App Store Journey · 獨立開發者的真實上架日誌
RestBud 是給家長的螢幕時間課表工具,補上內建「螢幕使用時間」缺的兩件事:星期分組與單次限時。這裡記錄它送審 Apple App Store 的每一個節點,給走在同一條路上的獨立開發者一點參考。
又是一個接近午夜的送審夜:1.0.20260802 (2) 打包上傳,晚上 11:43 在 App Store Connect 建立 Draft Submission,把 iOS App 與三個自由讚助的內購項目一起送出,共 4 個待審項目。星期分組的 Lock 時段、玩 30 休 5 的 Rest 循環、家長親手錄的語音提醒——完全免費、零廣告、不收集任何資料。
- App:RestBud - Kids Screen Time(app.rexcode.restbud) · iOS App(iPhone + iPad)
- 版本:1.0.20260802 (2)
- 建立送審:2026/8/2 晚上 11:43
- 狀態:⏳ 等待審核中(Ready for Review)
① Xcode 打包並上傳
Xcode Organizer 的 Archive 資訊顯示 Version 1.0.20260802 (2)、Identifier app.rexcode.restbud、Type iOS App Archive——build 已送進 App Store Connect。
② 送審項目定案:App + 3 個內購
Draft Submission 顯示 Items Ready to Submit (4):iOS App 1.0.20260802 (2),加上 In-App Purchases (3)——也就是那三檔選用的自由讚助。左側版本狀態為 Ready for Review,頁面同時提示「這個版本已加入審核,要換版本得先移除」。


第一封退信是自動分析發的:Apple 掃到 App 用了 Screen Time 相關 API(Family Controls/Managed Settings/Device Activity),但送審時沒有帶上 Family Controls entitlement——審核直接無法進行。這個權限要另外向 Apple 申請、核准後才能設定。
連帶效果值得記:三個自由讚助內購全部被一起退回,狀態變成 Rejected,要等 App 重新送審才會跟著回到審核佇列。內購不是獨立審的,它綁在 App 上。
- 類型:自動訊息(automated message)· 審核無法進行
- 連帶退回:
restbud.tip.small/.medium/.large - 狀態:🔴 需先取得 Family Controls entitlement
第二封還是自動訊息,而且是這個系列的老朋友:兒童類 Guideline 1.3 的那四個問題(有沒有第三方分析/有沒有第三方廣告/會不會分享給第三方/還收不收其他使用者或裝置資料)。LetCube、LetAbacus 都收過同一封,內容一字不差。
RestBud 的答案同樣四個都是「沒有」:不含第三方分析與廣告 SDK、不與任何第三方分享、除了本機規則與錄音之外不收集任何使用者或裝置資料;連 Screen Time 拿到的都是不透明 token,不是可讀的使用清單。
第三封終於是真人審核,也是最有意思的一封:Guideline 2.3.8 Accurate Metadata——App 名稱裡有 kids,暗示這是專門給兒童用的,但這個 App 並沒有以兒童類送審。兩者對不起來就不給過。
Apple 給了二選一:把名稱/副標/圖示/截圖裡所有暗示主要對象是兒童的字眼拿掉,或者在 App Store Connect 的 Rating 區塊選「Made for Kids」真的投兒童類。
- Submission ID:
3fa568c0-ca0d-469e-b15c-9d2fa76ec28d - Review date:2026/8/10 · 審核機:iPhone 17 Pro Max + iPad Air 11-inch (M3)
- 審核版本:1.0.20260802 (2)
怎麼選的:改名字,而不是投兒童類
RestBud 的使用者其實是家長——設定、時段、語音錄製全在家長閘後面,孩子那一側只看得到小芽遮罩。真正的定位是「家長用的管理工具」,不是給小孩玩的 App。所以正確答案是改名字:
RestBud - Kids Screen Time → RestBud - Parental Screen Time
一個字之差,把「給小孩用」改成「家長用來管螢幕時間」,名稱與分類就一致了。
改名後 8/10 重新送審,8/13 凌晨兩封信同時進來:Review is complete 與 Your app is "Ready for Distribution"——RestBud - Parental Screen Time 正式上架。從首次送審(8/2)到核准共 11 天,中間 3 次退件:少權限、兒童類四題、名稱與分類不一致。這是這系列 app 裡退最多次的一個。
- App Store 名稱:RestBud - Parental Screen Time
- 核准版本:1.0.20260802 · iOS · SKU
restbud-ios-001 - 重新送審:2026/8/10 上午 8:12 PDT · 通過:2026/8/13 凌晨 2:10
- 狀態:✅ 已上架
- App Store:iPhone / iPad 立即下載 →


上架後的第一次改版。新功能是每日上限(幾個 App 合計一天最多玩多久)、解鎖時段可以設好幾段、看得到納管 App 今天各用了多久;修正是休息提醒終於真的會出聲,以及架上版回報的「小孩關 iPad 很久再打開,直接被鎖」——現在中途放下的時間達到休息長度,這一輪就重新計時。
9/24 那一版(build 3)上傳過但從沒送審,功能全部併進來;App Store Connect 上的版本直接改名成 1.1.20261005,文案和截圖沿用。10/5 17:42 用 API 送出,21:00 就收到 Ready for Distribution——約 3 小時 18 分,零提問。首發那次是 11 天、退件 3 次。
上傳退了兩次,都是「實機能跑、上傳才爆」
第一次 altool 91179:顯示今日用量的報表 extension 必須是 ExtensionKit 格式(嵌在 Extensions/,不是 PlugIns/)。第二次 90349:新加的 Shield Action extension,extension point 寫錯成有 UI 的那一個。第三次才上傳成功,五個 binary 的 entitlements 逐一解開驗過再送。
送審籃只有 1 項
沒有新內購,三檔自由讚助首發時就已核准,籃子只放 app 版本。App Privacy 維持「未收集資料」:今日用量由 iOS 在獨立的報表元件裡畫,RestBud 讀不到也存不了。
- 版本:1.1.20261005 (4) · iPhone + iPad · 送審項目 1
- 送出:2026/10/5 17:42(台北) · reviewSubmission
0f582b98-4bc6-40c4-a696-98d249c28565 - 通過:2026/10/5 21:00(台北),過審即自動上架
- 狀態:✅ 已上架
- App Store:iPhone / iPad 立即下載 → · 版本紀錄 →

新功能是網站白名單:家長設定裡打開之後,全天只有清單裡的網站打得開,其他網站一律封鎖,Safari 和其他瀏覽器都一樣。可以一鍵加入 YouTube(連同播放影片需要的網域)或學校網站,也能自己輸入,最多 50 個;首頁會列出「可以開的網站」,孩子點一下就開。
另外修了 iPad 上回報的「按了暫停,資料全不見」:暫停後規則照樣留在設定頁,暫停中改的規則先存起來、恢復後才生效,首頁多一顆「恢復管控」,在家長區裡暫停也不用再輸入第二次密碼。順手修掉打開 App 時偶爾多一筆「Screen Time 存取權被關閉」的誤報。
這次上傳一次就過
上一版被 altool 退兩次(ExtensionKit 格式、Shield Action 的 extension point),這版五個 binary 照上次的設定一次上傳成功;新版本、兩語系文案、Review Notes、掛 build、送審全部走 API。沒有新內購、沒有新權限,送審籃 1 項。
沒在實機驗完就送
網站白名單在 LINE 內開的連結、www 與子網域、YouTube 影片、.edu 尾碼這幾種情況,以及暫停三修、授權誤報修正,送審時都還沒在實機跑過——是 Rex 決定先送。上架後第一件事就是把這些跑一遍,不吃的項目下一版調整。
- 版本:1.1.20261009 (5) · iPhone + iPad · 送審項目 1(API Key 送出)
- 送出:2026/10/9 22:54(台北)= 10/9 07:54 PDT · reviewSubmission
3b02ffa5-0feb-4894-a8c3-18ca25e74068 - 通過:2026/10/10 02:45(台北)——約 3 小時 51 分,零提問,過審即自動上架
- 狀態:✅ Ready for Distribution
- App Store:iPhone / iPad 立即下載 → · 版本紀錄 →


兩個新功能。跟爸媽要時間:時段外、今天沒開或每日上限用完而被鎖住時,鎖住的畫面多一顆「跟爸媽要 10 分鐘」,孩子按了畫面會說「已經問爸媽了」;家長打開 RestBud,首頁最上面就是這筆請求,過家長閘後可以給 10 分鐘、選其他時間或說不行。答應了只有那一個 App 多開,時間到自動鎖回去。
裝置保護:「防刪除保護」改成 RestBud 直接替你打開,不用再照步驟去 iPhone 設定裡找;另外多了不允許安裝 App、不允許 App 內購買、鎖住日期與時間、擋成人網站四個開關,預設都是關的。
按鈕本身不解鎖任何東西
Review Notes 寫明:鎖住畫面上的那顆按鈕只會在裝置上記一筆請求、發一則本機通知,然後讓畫面改成「已經問了」;真正放行要家長過家長閘答應,而且只放行那一個 App、到點由系統排程鎖回。四個保護開關對應的是 iOS 內建的 ManagedSettings 限制,關掉開關就清掉,暫停管控時一起暫停。沒有新內購、沒有新權限,送審籃 1 項。
只驗了一項就送
實機只驗過「不准安裝 App」:App Store 圖示會消失,連 Xcode 也裝不進去。其他保護開關、關掉後是否真的放開,以及「跟爸媽要時間」整條流程(畫面真的改成已經問了、到點真的鎖回),送審時都還沒在實機跑過——Rex 決定先送,上架後第一件事跑完,不吃的開關下一版拿掉。
- 版本:1.1.20261012 (6) · iPhone + iPad · 送審項目 1(API Key 送出)
- 送出:2026/10/12 23:42(台北)= 10/12 08:42 PDT · Submission ID
324f21c3-8fb3-4a71-9dc4-9226783f4ad2 - 通過:2026/10/13 09:50(台北)——約 10 小時 8 分,零提問,過審即自動上架
- 狀態:✅ Ready for Distribution
- App Store:iPhone / iPad 立即下載 → · 版本紀錄 →

平台更新,功能沒有改。10/23 摺疊 iPhone Duo 開賣,用舊 SDK 編的 App 在 Duo 上只是加黑邊的小視窗。這版改用 Xcode 27.1/iOS 27.1 SDK 重編,闔起用外螢幕、打開用大螢幕都填滿畫面。RestBud 的版面全靠 SwiftUI,沒有針對機型的判斷,所以程式不用改;只拿掉已經沒作用的全螢幕設定、補上 iPad 倒拿的方向,並修掉兩個新 SDK 的警告。
Duo 截圖要另外想辦法
RestBud 的上架截圖一向用實機拍:模擬器沒有螢幕使用時間的授權,畫不出 App 圖示,拍出來只有「尚未設定」的空畫面,而 Duo 還沒有實機。所以這版先只送新 build,Duo 用戶已經是全螢幕;外螢幕在模擬器上看過一次,內螢幕還沒走查。之後做了一個只在模擬器開發版存在的「截圖示範模式」,Duo 截圖會隨下一個版本補上。
- 版本:1.1.20261023 (8) · iPhone + iPhone Duo + iPad · 送審項目 1(API Key 送出)
- 送出:2026/10/23 23:46(台北)= 10/23 08:46 PDT · Submission ID
5775705f-c01c-4249-adfe-0aac3695bd71 - 通過:2026/10/24 05:30(台北)——約 5 小時 44 分,零提問,過審自動上架
- 狀態:✅ Ready for Distribution
- App Store:iPhone / iPad 下載 → · 版本紀錄 →

使用紀錄:家長區「執行狀況紀錄」裡看得到孩子每天、每週用了哪些 App、各用多久,納管中的 App 會標出來,週頁有每天的長條和每日平均。以前只看得到「今天、納管的 App」,這版改成全部 App。數字一樣是 iOS 在獨立的報表元件裡畫的,RestBud 讀不到、不存、也傳不出去。
暫時允許刪除:11/03 Rex 在 iPad 上開了防刪除保護,結果自己也刪不掉 App,只好把整個螢幕使用時間權限關掉。這版在防刪除那一列寫清楚「這個保護會擋住所有 App」,保護開著時可以「暫時允許刪除 App」10 分鐘,時間到自動恢復。
先撤回一版,再一起送
補 iPhone Duo 截圖的 1.1.20261024 (9) 11/03 已經送審。隔天 Rex 決定撤回,跟使用紀錄、暫時允許刪除一起重 build;ASC 上是同一筆版本紀錄改名成 1.1.20261104,Duo 截圖沿用(內螢幕 7 張+外螢幕 3 張,中英各一組)。這兩個新功能送審時只在模擬器上驗過排版,模擬器沒有螢幕使用時間資料,所以審查期間用 TestFlight 在實機上補驗。
- 版本:1.1.20261104 (10) · iPhone + iPhone Duo + iPad · 送審項目 1(API Key 送出)
- 送出:2026/11/04 00:19(台北)= 11/03 08:19 PST · Submission ID
37ce95e0-92c7-484f-a15f-d35ac235dc23 - 通過:2026/11/04 13:32(台北)——約 13 小時 13 分,零提問,過審自動上架
- 狀態:✅ Ready for Distribution · App Privacy 仍是 Data Not Collected,隱私政策同步補上使用紀錄的範圍
- App Store:iPhone / iPad 下載 → · 版本紀錄 →

審核結果(通過或退件)與上架後的每次更新,都會即時記錄在這裡。