一个新的系统在带来新功能的同时会引发各种问题,同理一个新的插件,当它给您带来新颖功能的时候,也可能存在着各种BUG等不定因素。那么此时你是选择重新刷机越狱,还是降级插件版本呢?
更新升级插件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崩溃记录给作者,此时就需要用到手动输入邮箱了。