權限

macOS 會要求哪些權限、各自帶來什麼好處、以及拒絕之後你會失去什麼。

← 所有文件

macOS 會在第一次需要用到某些權限時才會詢問,其中有一項則是完全不會詢問。這裡列出的任何一項,都不是看到你的 App 所必需的⁠——清單、版本檢查和版本說明,在全部拒絕的情況下一樣能正常運作。以下說明每一項權限各自帶來什麼好處、關係到你的哪些 App,以及不給它的代價。「完全取用磁碟」與「自動化」這兩節的內容,是在 macOS 27 上、以一個什麼權限都還沒被授予的 App 實測出來的。

完全取用磁碟⁠——只影響 TestFlight Beta 版和 CotEditor

macOS 從來不會為這一項跳出詢問:你得自己到「系統設定 → 隱私權與安全性 → 完全取用磁碟」把 DuoUpdater 加進去。因為這個 App 用的是固定不變的簽署身分,這個授權會在往後每一次更新之後都繼續有效。它只在你有下列其中一種情況時才重要:

  • 從 TestFlight 安裝的 Beta 版。 DuoUpdater 會從 TestFlight 自己的紀錄裡,讀出 TestFlight 提供給你的建置版本。沒有這個權限,Beta 版仍然辨識得出來,只是那一列會顯示問號,而不是最新建置版本。
  • CotEditor。 它把自己的更新通道設定放在自己的沙盒容器裡。沒有這個權限,即使你把 CotEditor 設成接收預先發布版,DuoUpdater 仍會拿它的正式版來檢查;你已經在跑的預先發布版,仍然能靠它自己的版本號被辨識出來。

除此之外,DuoUpdater 查看的其他一切都不需要這項權限。Fork、TablePlus、OrbStack、IINA、Tailscale、CleanShot 以及其他它認得的 App 的發行通道、你的 App Store 商店地區,還有 Application Support 底下的檔案,全都不需要它就能讀到。

沒有「完全取用磁碟」,DuoUpdater 根本不會嘗試那兩種讀取⁠——每一次嘗試都會被拒絕,而在 macOS 27 上,一次被拒絕的 TestFlight 讀取還會跳出「Data Access Blocked」(資料取用遭封鎖)的系統通知。如果你確實裝了 TestFlight 的 Beta 版或 CotEditor,打開選單時會說明這項權限的用途、以及去哪裡授予它:只會說明一次,除非之後又出現另一個這樣的 App,才會再說明一次。歡迎視窗和「設定 → 診斷」隨時都會顯示目前是否已授予,並附一個按鈕,直接打開系統設定裡對應的頁面。點一下 TestFlight 那一列上的問號,會說明它為什麼出現在那裡;如果原因就是缺少這項授權,也會提供同一個按鈕。一個正式版的 CotEditor,名稱旁邊會有一個小鎖頭圖示,作用相同。

App 管理⁠——安裝任何東西都需要它

要取代 /Applications 裡、由其他安裝程式放進去的 App,就得靠這項權限,而 macOS 並未提供任何 API 可以提前請求它,所以第一次安裝就會觸發系統的詢問視窗。拒絕它,偵測功能仍然照常運作;只是安裝會失敗,DuoUpdater 會替你打開對應的設定頁面。

通知⁠——完全可選

在啟動時詢問一次,用途只有告訴你發現了更新,以及顯示 Dock 圖像上的數字標記。要留意的是,數字標記需要特別開啟「標記」(Badges)這個開關,光是開啟提醒還不夠⁠——「標記」關閉時,就算通知照常出現,數字也會被悄悄捨棄。

背景輔助程式⁠——用於 App Store 更新

App Store 的更新是透過一個背景項目來執行的,macOS 會要求你核准一次,位置在「登入項目與延伸功能」(Login Items & Extensions)。沒有這項核准,App Store 的更新會失敗,DuoUpdater 會告訴你去哪裡開啟它。

輔助使用⁠——預設不需要

在兩種情況下會用到:你在「設定」裡把 App Store 安裝方式切換成 GUI 路線時,以及套件更新完成後要關閉安裝程式(Installer)的視窗時;沒有這項權限,那個視窗就會留著,等你自己關掉。預設的 App Store 路線走的是完整下載,不需要額外任何權限。

自動化⁠——不會請求這項權限

更新完成後結束並重新開啟一個 App,不需要用到這項權限。