淘新聞

鋒友分享:不相容的 Mac 也能用Night Shift

蘋果在 macOS 10.12.4 系統更新中將 iPhone 上比較實用的 Night Shift 功能帶到了 Mac 設備上,但是這項功能只能夠相容 2012 年或者更新的 Mac 設備。近日,鋒友“

邪惡冷月

”分享了一個讓 2012 年之前的 Mac 設備也可以使用 Night Shift 功能的操作辦法,並且表示親測有效。一起來看看吧。

首先,我們先來看一下 Night Shift 支持的最低機型:

MacBookPro9,x

iMac13,x

Macmini6,x

MacBookAir5,x

MacPro6,x

MacBook8,x

這個機型序號可以在關於本機 - 系統報告 - 硬體概述 - 型號識別字中看到。

接下來我們來看看具體的操作步驟:

1. 打開終端,並輸入以下代碼:

nm /S*/L*/PrivateFrameworks/CoreBrightness.framework/CoreBrightness|grep _ModelMinVersion

查看偏移量,可以看到是 1e260(這個應該和系統版本有關係,如果是10.12.4的正式版應該都是這個值)

2. 重啟 Mac,開機時按住 CMD + R 進入恢復盤,使用恢復盤的終端,執行以下代碼關閉 SIP:

csrutil disable

3. 重啟 Mac 之後進入 /System/Library/PrivateFrameworks/,找到 CoreBrightness.framework 並複製。

4. 打開 Xcode 或者其他可以編輯二進位檔案的軟體,這裡以 Xcode 為例。使用Xcode打開CoreBrightness.framework資料夾中的 CoreBrightness 文件,並按下 Shift + Command + J,打開導航視圖,在其上按一下右鍵 Open As ->Hex,使用十六進位打開。

5. 按下 Command+F 打開搜索,搜索以下欄位:

09 00 00 00 0d 00 00 00 06 00 00 00 05 00 00 00 06 00 00 00 08 00 00 00

此時我們可以根據自己的機型做一個判斷,這裡的數值其實是 Night Shift 的最低機型限制,我們修改這個限制就可以讓 Night Shift 在老機型上運行。

欄位解釋:

MacBookPro9,x = “09” 

iMac13,x = “0d”

Macmini6,x = “06”

MacBookAir5,x = “05”

MacPro6,x = second “06”

MacBook8,x =“08”

鋒友“邪惡冷月”的機器是 MacBookPro8,3,那麼將 09 修改為 08 以達到這個要求。

6. 在 Xcode 之中修改好之後,按 Command+S 保存。將整個資料夾覆蓋回去原位置,可能會要許可權,輸入密碼即可。

7. 在終端中執行以下代碼:

sudo codesign -f -s - /S*/L*/PrivateFrameworks/CoreBrightness.framework/Version/Current/CoreBrightness

8. 最好把 SIP 打開,用第二步中的方法回到開機磁片中,輸入以下代碼:

csrutil enable

9. 重啟電腦,前往系統偏好設置 - 顯示,即可打開 Night Shift 功能。