在近來的蘋果「降速門」事件中,被發現如 iPhone 內置電池的「壽命」少於其設計數值的 80% 時,會引發降速機制,避免主機出現突發的自動重啟現象。雖然蘋果已宣佈未來會推出更新,讓用戶自行開關是否令 iPhone 降速,也會直接顯示主機電池壽命;不過在此之前,用戶可透過以下介紹的方法,自行取得主機內有關電池健康度的數字,以決定是否到蘋果以低價更換電池。這個數字由主機本身提供,將會跟你在維修時得到的數字一樣,我們會將此數字同電池壽命檢測 App「Battery Life」作出比較。
今次測試會安裝一個由蘋果提供的 iPhone 手機描述檔案,以測計 iPhone 的電池健康資料,另外你需要一部安裝了 iTunes 的 Windows/Mac 電腦,以及 USB 傳輸線,以便在電腦取得這些資料。
首先你需要安裝一個由蘋果提供的描述檔,它名為 BatteryLife.mobileconfig,專門用以取得有關手機電池的數據。(及後會介紹將它刪除)請用 iPhone/iPad 打開以下網址,利用你的 Apple ID 登入。
網址:https://developer.apple.com/services-account/download?path=/iOS/iOS_Logs/BatteryLife.mobileconfig
蘋果網站下載到的檔案,將要使用主機內的「設定」App 來開啟,請圖中彈出的視窗按「允許」;
在安裝前你可確認將會安裝的內容,抽述檔名為「System Debug Profile」。請按畫面右上角「安裝」,再輸入主機 Passcode 即解鎖密碼確認。
在閱讀安裝條款後,按一次畫面右上方「安裝」按鈕,再按畫面下方彈出來的「安裝」按鈕。安裝完畢後,按右上「完成」便可退出。
請準備好 iPhone 用的 USB 傳輸線,連接電腦後打開 iTunes,並打開手機摘要頁面。要留意的是在「自動備份」選項中,選取「這部電腦」,並確認不要剔選「替 iPhone 備份加密」的選項,記著是不要剔選。最後按「同步」按鈕。
留意 iTunes 表示同步好除錯資料(毋須同步相片或音樂)。
接下來我們在電腦找出從 iPhone 中得到的電池健康資料記錄檔案。依照你使用的電腦系統(Windows/Mac)進入以下的資料夾。
macOS檔案位置:~/Library/Logs/CrashReporter/MobileDevice/
Windows檔案位置:\Users\[電腦名稱]\AppData\Roaming\Apple Computer\Logs\CrashReporter\MobileDevice\
macOS 用戶可在 Finder 選單進入 [前往]>[前往資料夾],再貼上上述的路徑便可。
你會看到有關的檔案夾中,出現主機的名字,請點擊進入,請找出一個名為「powerlog_日期_一串編碼.PLSQL」的檔案,或者類似檔案名稱的 *.gz 檔案,請檔案複製到桌面 (如有多個同類檔案,請選日期較新版本)。如你找出的是 *.gz 檔案,請把它解壓縮,你會得到一個 *.PLSQL 檔案。(如找不到類似檔案,可嘗試再一次同步處理)
要打開 PLSQL 資料庫檔案,你需要特別的軟件,但如果你不介意電池的記錄上傳到互聯網的話,可打開一個名為「SQLiteOnline.com」的網站。在網站按 [File]>[Open DB],再將剛才得到的檔案上傳。
在打開了檔案後,請於左邊的欄位找出「PLBatteryAgent_EventBackward_Battery」項目,雙點擊滑鼠就可打開該資料庫。
表單顯示了多次記錄的電池健康度資料,要找最新資料,可捲到此表單的最底,看到第一個欄位「ID」的數字最大的,就是最新的數據。請用滑鼠雙點擊這個欄位。
打開頁面你會看到資料庫的數據,但我們需要的資料在下面…
到資料庫看到有關一堆「Capacity」的資料,這裡大致上你可掌握你需要的電池健康資訊:
在今次的例子中,可看到 MaxCapacity 數值為 2700、DesignCapacity 為 2701、CurrentCapacity 為 2430,而CycleCount則為68。
MaxCapacity:現時充滿電狀態時最高電量
DesignCapacity:電池出廠時設計電量
CurrentCapacity:現時電池電量
CycleCount:電池充電循環次數
今次示範 iPhone X 電池只有少於 1% 的耗損。而為了更明顯顯示測試結果,我們再拿了一部已用了一段時間的 iPhone 6s 進行測試。根據官方測試方式的數據,發現電池的壽命大概還有 91.4% 左右。
以下例子中,可看到 MaxCapacity 數值為 1600、DesignCapacity 為 1751、CurrentCapacity 為 224,而 CycleCount 則為 1082。
▲另一部電池循環超過 1000 次的 iPhone 6s 電池資料
你只要把 MaxCapacity 除以 DesignCapacity 即可知道電池的壽命。今次例子就計算到電池壽命為約 91.4%。
iOS 本身有時對檢測 MaxCapacity(電池現時最高電量)數值會發生誤差,例如圖中的資料庫當中,普遍的數值是 1600,但突然會有 1700 的計測值出現。到底哪個數值才是真?
「假的真不了」,當你的 iPhone 充電到 100% 滿充電時,當時的數值就是電池當時真正的「最高」電量。你可留意 CurrentCapacity(現時電池電量)的數值,例如下圖 iPhone 在滿充電時 CurrentCapacity 數值為 1600,就代表剛才出現的 1700 並非正常數值。
相比於電池壽命 App,例如「Battery Life」,上述介紹的方法當然比較麻煩。但其實大家最關心的是 iPhone 官方的數值與 Battery Life 數值是否有差異。就今次的示範例子的 iPhone 6s 來說,蘋果官方測試結果得出的電池壽命是 91.4%。
及後我們在此 iPhone 安裝 Battery Life,調查結果最初顯示出 9% 的損耗,但未知原因,過了一段時間後結果又變了 3%。這個變化原因,基於 iOS 有時會出現「MaxCapacity」數值檢測錯誤的情況有關,並非 Battery Life 的錯。但本文教學的方法可簡單辦別到,而 Battery Life 就很難知道它的數字是真是假。如果你想準確的數字,與 Apple Retail Store 藍精靈為你檢測的數字一樣的話,就可嘗試本文教學的方法。
Battery Life 下載網址(AppStore連結):https://itunes.apple.com/app/id1080930585
由於記錄用戶電池健康的描述檔會一直作出記錄,為免耗電,建議使用完畢後把它刪除。方法是打開設定 App,進入[一般]>[描述檔],點選描述檔後,再按「移除描述檔」便可。