有時候我會截取我喜歡的貼文畫面,以便傳送給朋友或分享到迷因頻道,或是保存一份「永久」的副本。就像這張(我已經裁掉了其他介面):

我注意到右下角的 Bluesky Logo,覺得很奇怪,因為我在使用應用程式時,這個 Logo 並沒有出現。然後我再次查看應用程式中的貼文——Logo 不見了,取而代之的是「追蹤」按鈕。

我記得有些應用程式會將 Logo 藏在 iPhone 的瀏海區域,這樣它就不會顯眼,除非你截圖。但這裡的 Logo 是公開顯示的,他們是怎麼做到的呢?

我試著再截一次圖,這次是在切換到另一個應用程式的中途:

他們是不是以某種方式設置了一個監聽器,在我按下兩個按鈕來截圖時,在最後一刻進行了「掉包」?我不是 iOS 開發者,不確定那邊有哪些可能性。

到目前為止,我感到有點好奇。幸運的是,我記得 Bluesky 應用程式是開源的(或者至少程式碼是可以查看的)。

答案就在一個名為 GrowthHack.tsx 的檔案裡,由 mozzius 在 2026 年 1 月引入。但它只是使用了某個依賴套件,所以為了理解,我查看了他們同樣開發的 package expo-privacy-sensitive。

該套件創建了一個 UITextField,並將 `isSecureTextEntry` 屬性設置為 true,然後將實際內容(按鈕)渲染到該欄位的 `.layer` 中。當我截圖時,iOS 會將這個 UITextField 變為空白,讓 Bluesky Logo 能夠「展翅飛翔」(它其實一直都在那裡)。對於其他平台,它只是正常渲染內容,沒有任何遮罩。

為什麼在我切換應用程式時它就失效了呢?我猜測 iOS 會在手勢開始時自行拍攝快照(而不觸發變空白),而當我進行截圖時,沒有即時的 UITextField 實例來做出反應,只有一個靜態的快照。但再一次強調,我不是 iOS 開發者。

這是一個巧妙的技巧,還是對用於保護隱私的 API 的濫用?在討論串中,大多數添加此功能的人似乎都不喜歡它,直到討論串被鎖定。我個人覺得挺可愛的。

我稍微谷歌了一下,這個技巧是眾所周知的。Telegram 在其「秘密」聊天中實現了類似的功能,Signal 也是如此,所以我預計 Apple 不會很快就修補它。