
這週最大的事,是一個 App 被蘋果退件,我得讓必要的詢問視窗被審查員一眼看到。另外還抓到兩個「我以為是這樣,結果不是」的狀況:一個是自動排程的計費方式,一個是帳號驗證碼收不到。
審查員找不到的告示,要掛在大門口
Nailora 是一個台灣美甲情報平台,美甲師和顧客都能用。它第二次被蘋果退件,理由是審查員找不到「是否允許追蹤」的詢問視窗。這就像店裡有張必要的告示,卻貼在後場,審查員走一般動線根本看不到。
我把詢問改到一打開 App 就跳出,廣告元件的啟動則往後延,等同意流程跑完才動。審查備註和隱私權政策也同步改成這個說法,讓文件和實際行為一致。新版本已第三次送審,結果尚未驗證。
審查員只會走最常見的路徑,不會去翻你藏好的角落。凡是審查要求必須存在的東西,放在第一眼就會經過的地方,備註寫的位置也要和真實位置相符。
技術細節:追蹤詢問的掛載點與建置版本
在
app/_layout.tsx於 splash 隱藏後,於 iOS 觸發ensureAdsConsent(UMP → ATT)。lib/hooks/useManageInterstitial.ts拆出ensureAdsConsent,App 非 active 時先等 active 再問 ATT。ensureAdsReady先等同意流程,SDK 初始化與插頁廣告仍只在 B 端 Dashboard。app.json設定delayAppMeasurementInit。iOS buildNumber 由 18 升到 19(EAS autoIncrement)。
排程一直走按次計費,我卻以為在用包月
我有兩個每天自動跑的任務:一個是日本商品代購的貼文工具,一個是模擬交易。它們都用 Claude 的命令列工具執行。我以為它們走的是包月訂閱,實際上電腦裡放著另一個專案用的按次計費金鑰,工具默默撿起來用,好幾天都這樣。這像影印店有包月方案,櫃檯卻每次拿你留在那邊的信用卡刷張數。
現在啟動前先拿掉那把金鑰,一律先走訂閱。只有偵測到額度用完,才帶金鑰從中斷處接續跑完。每次執行還會在紀錄裡寫明這次用了哪種計費。
自動化工具會悄悄使用環境裡現成的憑證。除了明確指定要用哪一個,還要讓每次執行都留下實際用了哪個的紀錄。
技術細節:環境變數造成的計費誤判
ANTHROPIC_API_KEY原本是給翻譯模組用的,claude -p繼承後改走 API 計費。 啟動前移除該變數,claude auth status由api_key變為claude.ai。 額度用完且非 0 結束時,帶金鑰附「接續」說明重跑,兩次共用 5 小時時限。 修改處為 plurkpost 的維護看板腳本與automation/run_daily_agent.ps1。
驗證碼只寄一條路,換個通道才解開
做寵物用品代購時,我要用程式操作社群帳號,結果系統用戶權杖被擋,原因是 Meta 的開發者帳號被判定活動異常。要解鎖得輸入驗證碼,但簡訊一直收不到,客服機器人又說無法轉真人。這像門禁卡被鎖,開鎖密碼卻只寄往一個收不到的信箱。
排查後確認手機和電信都沒問題,備用簡訊也收得到,只有這道關卡只肯寄簡訊。最後在無痕視窗改用 WhatsApp 收碼,順利解鎖,權杖也恢復正常。
重要帳號要事先備好第二條驗證通道和備用管理員。出事時才找,往往已經沒有人能幫你。
技術細節:被擋的錯誤與驗證結果
症狀為 API access blocked(error 200)。 解鎖後以
GET /me與GET /me/accounts驗證正常。
接下來
- 等 Nailora 第三次送審的結果,沒通過就照退件原因再調整。
- 替 Meta 企業帳號補上備用管理員。
本篇由跨專案自動彙整產生,素材為 2026-10-27 之後 8 個專案的提交紀錄與 0 則知識投遞。