更新升級插件A時,發現與已安裝的插件B產生沖突,或者當升級一些必備插件補丁時,發現系統出錯時,我們該如何將這些新升級的插件進行降級,回滾至原先兼容性善佳的舊版本呢?
注:本篇教程方法對BigBoss源的插件比較有效,ModMyi源的插件可能已經失效。
一、卸載新版插件
如果設備仍然能正常運行,直接到Cydia將新版插件卸載即可。
如果設備已經無法正常運行,一般情況下,可以通過同時按住電源鍵和Home鍵強制關機,之後按住音量+鍵重啟設備。此時,系統不會加載Cydia Substrate(以前叫Mobile Substrate),依賴他的插件全都會失效(但iFile、Cydia 這些不依賴它的軟件仍然可以正常運行),類似安全模式狀態,然後進入Cydia卸載舊版插件。
二、找到舊版插件的deb
在 http://cydiaupdates.net/ 可以不進入Cydia 查看插件更新情況,同時也提供了免費插件deb的下載功能。
搜索到插件以後,進入插件詳情頁面,可以看到最新版本的插件提供了下載鏈接,復制這個鏈接,得到:
http://apt.modmyi.com/pool/main/r/ru.firemoon777.statusmodifier/ru.firemoon777.statusmodifier_3.0.1_iphoneos-arm.deb
已經非常明顯了,修改鏈接中的版本號,就可以下載舊版deb了。(如果浏覽器不能下載,可以試試迅雷等下載工具。)
三、安裝舊版插件
1、刪除配置文件
極少部分插件在更新的時候會更新配置文件,部分甚至因為配置文件出錯導致啟動故障。有時候我們可以先刪除配置文件重啟,以確認是否因為配置文件導致出錯。
而在安裝舊版插件時,為了安全起見,還是把新版配置文件先刪除會比較好。
配置文件通常在這個文件夾,/user/library/preferences/ ,比如statusmodifier的配置文件是ru.firemoon777.statusmodifierloader.plist 以.plist為擴展名,插件ID(插件名)文件名,這些信息,仔細找找。備份,然後刪除。
目前我只知道Activator 的配置文件有點不走尋常路,在
/user/library/caches/libactivator.plist
2、安裝deb
方法1:如果設備已經安裝afc2add。通常的方法是將deb拷入
/private/var/root/media/cydia/autoinstall/
然後重啟設備。
方法2:如果已經安裝iFile,則可以用iFile安裝。將deb傳到設備,比如發個郵件給自己。在郵件中點擊附件,選擇用iFile打開,點擊“安裝程序”,然後Respring。
四、暫時忽略更新
安裝完畢,插件是可以用了,但是Cydia的角標很討厭,怎麼辦?
打開Cydia,找到忽略更新的插件,更改軟件包設置–>忽略更新。好了,角標也消失了。
重點在於如何找到deb和刪除可能影響的配置文件,至於安裝的方法其實很多,就不一一列舉了。
五、聯系作者報錯(可選步驟)
1、普通報錯與聯系方式
在Cydia插件安裝頁,我們可以找到作者信息,點擊可以進入插件支持頁面,點擊作者即可向作者發送包含安裝基本信息的報錯郵件,附件是Cydia操作記錄和你設備中的插件列表。你可以在郵件正文描述出錯的情況。
2、利用插件CrashReporter
CrashReporter是專業的報錯插件,不僅可以向Cydia內的插件作者,還可以向App作者報錯(App需要手動輸入作者聯系郵箱)。
點擊主屏CrashReporter圖標後,可見所有系統記錄的崩潰記錄(下圖左),找到需要報錯的軟件,點擊後可見這個軟件所有崩潰記錄(下圖右)。
選擇想要報告的(一般是最新一次)記錄,點擊後,CrashReporter會彈出菜單要求選擇上報給誰。選電郵給開發者即可。CrashReport還給出了報告參考格式:出現問題的時間、怎樣的操作會導致崩潰、能否重現 等。附件是系統崩潰記錄和插件列表。
填寫完畢,點擊右上角發送即可。
對於插件無法自動找到開發者聯系方式的,可以選擇“Forward to…”菜單手動輸入接收人的郵件地址。特別是有些作用於Springboard的插件,系統記錄的是Springboard的崩潰記錄,所以只能發送Springboard崩潰記錄給作者,此時就需要用到手動輸入郵箱了。