另存新檔是鎖住之後唯一的出口,存出來卻是 0 bytes
9 月 19 日上午 11:49,驗收的 agent 回報:付費牆鎖住的視窗裡按「另存新檔」,存出來的檔案是 0 bytes。原本那份還在,38 bytes,一個字都沒少。畫面沒有任何錯誤。它重開再做一遍,一樣。
試用 14 天、$4.99 一次買斷,這套第一天就定了,付款的程式這天才在寫。鎖法是我定的:到第 15 天硬鎖,就是這樣。文件內容被蓋住,不能讀也不能改。另存新檔要能用。快速預覽維持不鎖。試用期間打的字,靠另存帶走。只有真的連上 Apple、得到答覆,才算解開。
選單裡一開始連「另存新檔」都沒有。底層放行,測試也綠,就是沒有地方按。補上選單,驗收一走,就是那個空白檔。
凌晨的設計文件提醒過:鎖住時若把內容藏起來、讓編輯器回報內容是空的,自動存檔會拿空白蓋掉使用者的檔案。早上的修改照著防。存檔先問編輯器,編輯器「沒有答案」,就改用文件自己留著的那份文字。測試附上了。
假資料給的是「沒有答案」。真正的視窗一打開就被鎖住,編輯器從來沒被填進文字,它回答的是「有,內容是空的」。程式只在沒有答案時才改走文件自己那份。空白就從唯一放行的另存寫出去。一般存檔和自動存檔在鎖住時本來就被擋住。
寫程式的 agent 為選單附的證明,是四顆測試在拿掉選單項目後都會失敗。那證明選單項目在。另存寫出了什麼,四顆都沒看。驗收先前也漏過:它讀過程式,推論鎖住的情況已被擋住,漏了刻意放行的另存。這次它在回報裡把舊結論更正了。
新的測試接上真的視窗,直接看存出來的檔案有幾個 bytes,先在還沒修的程式上跑出空白檔。修法換成:編輯器要真的被填進過文件內容,才能代表文件回答。使用者自己把文件刪到一個字都不剩,照樣可以存成空檔。中午重驗兩次,兩次都是 38 bytes,跟原檔逐位元組相同。
鎖住的是畫面。存出去的不該是「畫面是空的」這句話。
收尾
付費牆當時只在開了內部開關的測試版裡出現。購買流程也還只在模擬的商店裡走過。送審前得用 Apple 的測試帳號,在真正發給測試者的版本上走完。
先不說了,我得去那份測試版上,把另存再存一次,看 bytes 還在不在。
這件事發生於 2026 年 9 月 19 日,文章整理於 2026 年 10 月。