SpringBoard
SpringBoard 是 iOS 和 iPadOS 負責管理主螢幕的基礎程式,並在裝置啟動時啟動 WindowServer、開啟應用程式(實現該功能等程式稱為應用啟動器)和對裝置進行某些設置。有時候主螢幕也被作為 SpringBoard 的代稱。[來源請求]
歷史
編輯2008 年蘋果公司發佈了 iPhone OS 1.1.3及一月應用包時,SpringBoard 的誕生引發了實質性的改動。 在任一應用上用手指按幾秒會讓所有的應用圖示開始抖動,這時可以重新佈局、跨頁移動圖示和及由 Safari 建立的網頁應用或捷徑,直到按下主螢幕按鈕使圖示停止抖動。[1]
同年 7 月發佈的 iPhone OS 2.0 推出了 App Store,用戶由此可以下載第三方應用,並可以同早前網頁應用的方式刪除他們。
在 2009 年 6 月發佈的 iPhone OS 3 中,SpringBoard 添加了 Spotlight 功能來搜尋資訊、郵件或應用等。
2010 年 6 月發佈的 iOS 4 允許為主螢幕設置背景圖片(此前為黑底)、在「抖動」時拽住一個應用圖示覆蓋在另一個上來建立資料夾。把圖示從資料夾中拖拽至外側即可移出該資料夾;如果資料夾內沒有任何圖示便會自動刪除。
裝置被越獄後,可以通過 Cydia 添加未被蘋果簽章而不能上架 App Store 的第三方應用,但不能像一般應用一樣刪除(除非安裝 CyDelete 外掛程式),而仍需要通過 Cydia 移除。
一般來說,用戶會根據使用頻率或為了美觀(如應用的顏色)來排列主螢幕上的圖示。[2]
在越獄過的裝置上
編輯圖示顯示
編輯SpringBoard 的佈局存放於屬性列表檔案 /var/mobile/Library/SpringBoard/IconState.plist 中。在 iPhone OS 1.1.3 之前,越獄程式會對該此打修補程式來在主螢幕上顯示或排列未上架 App Store 的第三方應用圖示。
iPhone OS 1.1.3 及以後,SpringBoard 原生地支援重新排列圖示順序,便不再需要修補程式。同時通過越獄安裝的應用的檔案不再存放在 iOS 原生應用目錄 /var/mobile/Applications 中,而可以直接放在 /Applications。
自訂
編輯主題
編輯修改設定檔可以改變 SpringBoard 的外觀(稱作主題或佈景主題),如圖示形狀、狀態列的樣式和其內的專案等。但由於對這些檔案等修改比較繁瑣,並容易修改不當產生錯誤甚至無法進入系統(俗稱白蘋果),於是催發出許多主題管理平台如 WinterBoard (iPhone OS 2 – iOS9)[3]、SummerBoard、Anemone (iOS7 – iOS11)[4]、SnowBoard (iOS11 – iOS12)[5] 和 iThemer (iOS11 – iOS12)[6] 等。 用戶可以在 Cydia 等上下載為特定主題管理平台適配的包來方便地啟用、停用主題,有時還可以修改該主題的一些細節。
替換 SpringBoard
編輯如果不想使用 iOS 預設的啟動器,可以將其替換成如 FrontPage[7] 等。
漏洞
編輯SpringBoard 導致裝置崩潰、死機或重新啟動的漏洞通常被稱為某某「炸彈」。
文字炸彈
編輯文字炸彈即會導致 SpringBoard 無響應或崩潰重新啟動的一串字元。
「effective. Power」
編輯2015 年,SpringBoard 被發現一個 bug,即會被一串特定的 Unicode 字串導致崩潰並重新啟動。[8][9]如果有人在通過即時聊天等將這串字元傳送來,收到訊息時候就可能導致 iOS 裝置死機,進一步甚至導致裝置不再能接收短訊或電話、經常失去網絡連接和被重設成出廠設定。[10]之後這個 bug 縮減到只有在彈出通知或鎖屏上出現該字串時才會復現。[11]
該字串看起來像:[12]
effective. Power لُلُصّبُلُلصّبُررً ॣ ॣh ॣ ॣ 冗
為了避免該 bug 復現,已被稍作修改。這個 bug 會出現於同期的 iPhone、iPad、iPod Touch、Apple Watch 和 Mac 。
iOS 8.4 中,這個 bug 被修復。
天城文字元
編輯類似於上例,這個會導致 iOS 11 裝置崩潰的字元為
జ్ఞా
該錯誤可能和對天城文的連字處理有關[13]。iOS 11.3 beta 3 中,這個 bug 被修復。
黑點
編輯iOS 11.3 以及 iOS 11.4 測試版中,一個與「⚫️」黑色圓形 emoji 有關的字串會導致崩潰。這個黑點的主要問題是包含了大量不可見的 Unicode 字元,這些字元會導致 CPU 在處理時負載過高。[14]
時間炸彈
編輯1970 年
編輯對於配有 64 位處理器的 iOS 裝置,如果將系統時間設定至早於 1970 年 5 月,則無法正常開機。該問題被認為是 UNIX 時間戳置負而無法通過驗證。蘋果並沒有解決這個問題,而是在後續版本的 iOS 中禁止將系統時間設定到早於 2000 年。
12 月 2 日
編輯iOS 11.1.2 發佈後,一些用戶表示他們的 iOS 裝置會在 12 月 2 日凌晨 0:15 分後若接收到基於時間的通知提醒,就會持續崩潰或重新啟動 SpringBoard。[15] 蘋果建議用戶暫時不允許所有通知,並等待新版本的 iOS 發佈[16]。蘋果嘗試在 iOS 12.2 修復這個 bug,卻使得裝置又在中午 12:15 崩潰[來源請求]。直到 iOS 12.2 被重新[來源請求]發佈,這個 bug 才得到解決。
應用程式載入
編輯iOS 4.3.3 開始,SpringBoard 會搜尋系統中 /Applications 和 /var/mobile/Applications 兩個目錄下的應用並顯示於主螢幕。
macOS 中的應用
編輯Mac OS X Lion 推出了借鑑於 iOS SpringBoard 主螢幕的新功能 Launchpad。兩者有很多類似的地方(例如應用的資料夾),不過 Launchpad 並不會佔據整個主螢幕,而更像是一個 Space(類似於儀錶板)。
開發者預覽版的 Mac OS X Lion 公佈時,Mac OS X 上的該功能被命名為 Launchpad,不過在 Dock 上仍顯示稱作 SpringBoard(在 /System/Library/CoreServices/Dock.app/Contents/Resources 中可以被找到)。
參考文獻
編輯- ^ Apple – iPod touch features. [2019-07-14]. (原始內容存檔於2009-08-23).
- ^ Matthias Böhmer, Antonio Krüger. A Study on Icon Arrangement by Smartphone Users (頁面存檔備份,存於互聯網檔案館). In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (CHI '13). ACM, New York, NY, USA, 2137–2146.
- ^ WinterBoard · Cydia. cydia.saurik.com. [2019-03-04]. (原始內容存檔於2019-03-06).
- ^ Anemone, a revolutionary theming engine for iOS 7 to iOS 10! Theme more than just images!: AnemoneTeam/Anemone, AnemoneTeam, 2019-03-01 [2019-03-04], (原始內容存檔於2018-06-11)
- ^ How to set up and use SnowBoard (Anemone alternative). Yalu Jailbreak. 2018-10-05 [2019-03-04]. (原始內容存檔於2019-03-06) (美國英語).
- ^ DOD Graphics (@DODGraphics) | Twitter. twitter.com. [2019-06-04]. (原始內容存檔於2019-06-23) (英語).
- ^ FrontPage API. junesiphone.com. [2019-06-04]. (原始內容存檔於2019-06-04).
- ^ Bug in iOS Unicode handling crashes iPhones with a simple text. Apple Insider. 26 May 2015 [29 May 2015]. (原始內容存檔於2015-05-29) (英語).
- ^ Corrupt iCloud Data Causes iOS SpringBoard Home Screen Crash (with Fix!). The Mac Observer. 18 June 2015 [18 June 2015]. (原始內容存檔於2019-07-14) (英語).
- ^ Clover, Juli. New iOS Bug Crashing iPhones Simply by Receiving a Text Message. MacRumors. 26 May 2015 [29 May 2015]. (原始內容存檔於2017-01-02) (英語).
- ^ Griffin, Andrew. iPhone 'effective power' text: how to be safe from iOS bug that lets people crash your phone. Independent.co.uk. 28 May 2015 [29 May 2015]. (原始內容存檔於2019-07-14).
- ^ Chowdhry, Amit. Apple Acknowledges Disastrous iPhone Messages Bug, Suggests This Temporary Fix. Forbes. 29 May 2015 [2 June 2015]. (原始內容存檔於2019-07-14).
- ^ [译] 分析让 iOS 崩溃的字符. (原始內容存檔於2019-07-14).
- ^ 让 iPhone、iPad 崩溃的字符 bug 又来了 这次是“黑点”. (原始內容存檔於2019-07-14).
- ^ 苹果日期Bug:今日0点15分起设备持续崩溃. (原始內容存檔於2019-07-14).
- ^ iOS 11.1.2 全球大當機,蘋果給官方解法了! 請立即操作. (原始內容存檔於2019-07-14).