經常有人亂裝插件導致沖突等問題,但是又不知道到底哪個插件的問題,往往又一頓亂卸,導致問題的擴大,其實不用去卸載,可以合理地利用現有的幾個工具來臨時禁用插件來排除達到目的!
首先說明的是利用的工具:SBSettings(下文簡稱SBS) 和 iCleaner Pro(下文簡稱iCP) (以前還有Springtomize 2,可惜作者被一些腦殘噴壞了,取消了此功能,包括iCleaner也一樣,iCleaner只有Pro版才有此功能!)
原理篇:
Cydia的插件會引起系統沖突導致**,閃退等問題的一般都是基於MobileSubstrate(為偷懶,下面就全部簡稱MS了) 這個環境的(其實91的白蘋果修復工具也就是一刀切地刪除它所有的啟動調用),開機時首先載入MS 環境,然後調用依賴於它的插件,這些插件一般都是常駐內存的,所以如果相互之間配合不好就會導致出現一些稀奇古怪的問題,就是因為這個原因,saurik 在將 MS 更新到0.9.3997 版本後,增加了一個新的功能,那就是如果因為基於MS 環境的插件導致啟動時**,不能進入桌面時,可以在系統啟動時按住 “音量+”按鍵來臨時取消所有的MS的環境,當MS環境停用後,就像地基一樣,基於它的全部的插件就同時被停用,那麼如果是進不了桌面的,我們可以先通過 按住“音量+”鍵進桌面,然後再使用SBS或iCP來一個個排查!
排查的原理就是:
基本所有的MS插件的開機引導都是由位於:
/Library/MobileSubstrate/DynamicLibraries
目錄下的相同前綴的2個文件組成,一個是???.plist文件,一個是???.dylib; dylib文件就是主啟動執行程序,那麼只要把文件後綴名修改一下,讓其無法調用即可達到臨時禁用的目的!!,說了這麼多,下面開始實際操作了!!!
SBS使用篇:
狀態欄橫向滑動,喚出SBS後,選擇點擊左下角的More,進入SBS的設置界面,將設置頁面移到下部分,可以看到有一個Mobile Substrate Add** 的選項,如下圖:
點擊進入後就會看到全部的基於MS環境的插件列表,如下圖:
這些開關的名字基本和你**的插件的名字是一樣的,找到出問題前**的插件,或者選擇你覺得可能有問題,沖突的插件,將開關關閉,此時,這個開機調用插件的主程序就會被從???.dylib修改為:???.disabled,這樣在開機時就不會調用了!
iCP 使用篇:
從桌面iCP程序圖標打開程序,如果機友們**後是英文版,可以在下面4個選項的最右邊的Language Selection 裡面選擇簡體中文,入下圖:
設置好語言後,我們選擇下面4個選項的第二個,然後往下拉,就會看到MobileSubstrate插件部分,和SBS一樣,只需要將懷疑的插件開關關閉即可!!如下圖:
注意事項和技巧:
1:不要貪多,最好是一次關閉一個,在關閉後重啟,看還有問題沒,如果還是一樣,把關閉的打開,繼續關閉下一個可能的插件後重啟,直到找出問題的插件
2:當找到問題插件後,將開關打開,打開後不要respring刷新或重啟,直接進Cydia將其卸載即可!如果沒有打開直接卸載了,也可以在插件卸載後進入/Library/MobileSubstrate/DynamicLibraries 目錄手動將修改為:???.disabled 的原啟動程序刪除
3:這個方法還適用於一些必須**的依賴,比如LIBHIDE,很多程序,包括SBS都是要有基於它的**,你卸載它就會附帶卸載掉依賴於它的全部插件程序,但是它開啟有經常會導致桌面上出現原先系統自身隱藏的白圖標的程序,你可以用這個開關將其禁用即可,還有喜歡Quick Do的 ,你也可以通過此方法禁用其它程序**所需要的Activator的手勢依賴!!!