iOS7越狱以来,由于iOS7的UI界面引入了图层的概念,或多或少都有一些稀奇古怪的问题,最常见的就是系统自带的天气,计算器,Safari等的闪退问题,其实很多都和使用习惯以及一些小BUG引起的,但是状态栏问题不全部一个方法能完全解决的,需要分开说明。
很多网友在越狱以后发现相机界面在运行时,原本隐藏的状态栏在越狱之后跑出来了,甚至影响前后摄像头的切换,在刚越狱完第一次启动Cydia之前,相机状态栏是好的,但是一旦运行Cydia后,状态栏就出现了!如下图:
Cydia第一次运行前
Cydia第一次运行时转移系统文件
Cydia搬移系统文件后,状态栏开始出现问题
这个问题其实处在Cydia在第一次运行时为了释放系统区空间,会将部分系统文件搬移到用户区,再在原位置创建一个快链指向,指向用户区的对应的目录,但是在搬移的过程中会将搬移的目录后面加上一个。xxxxx的随机码,比如Applications的真身目录会变成 /var/stash/Applications.s4rd4 之类,这样就造成上述的现象(其实按道理是不会的,但确实是这个问题)
1:手动修复,将真身的Applications.xxxx目录名修改为标准的Applications,然后将根目录下的快链指向指向修复好的真身目录!
关于手动修改快链指向,请使用WINSCP。
这个修复方法是最原生的无内存占用,无插件BUG干扰,7.x全系通用的方法!不用安装专门的常驻内存的状态栏修复插件了!
问题二:股市(黑底黑字);App Store,时钟等使用Eclipse类的夜间模式后恢复时白底白字的处理
使用iFile定位到 /var/mobile/Library/BackBoard 目录,使用属性表编辑器打开 applicationState.plist 文件,找到要修改的程序对应的ID键值,比如股市为:com.Apple.stocks ,点击它,如果状态栏不正常的会见到一个“SBDefaultStatusBarStyleKey”的整数型键值,它的值可能为0,其实这个值的含义:(0为黑字,1为白字),原则上讲将其修改为1即可,但是股市程序有点问题,你修改为1后Respring刷新后会又被改回,这个程序的做法就是干脆将这“SBDefaultStatusBarStyleKey”的整数型键值完全删除即可!(删除方法为:在这个减值上用手指向左滑动,出现删除,点击即可,也可以点击左下角的编辑,再点击对应键值的删除符号)
App Store,时钟等使用Eclipse类的夜间模式后恢复时白底白字的处理方式和上面的一样,
修改它的键值为:1,如果修改了又被恢复,可以删除这个键值
定位文件
选择属性表编辑器打开
状态栏问题的关键字节
正常的股市的字段内容
问题三:WinterBoard主题后状态栏异常
将设备连接电脑,打开91助手,找到路径 /var/mobile/Library/Caches/com.apple.UIStatusBar ,将images目录删除即可
问题四:Cydia在安装插件应用时,状态栏在下层的处理:
1,手动处理:使用iFIle定位到 /Applications/Cydia.app 找到info.plist ,使用属性表编辑器打开,添加一个布尔型字段,第一行的内容填UIViewControllerBasedStatusBarAppearance 完成后保存,再将添加的这个字段的开关打开!(注意仅修改deb的,不要试图修改系统自带程序的info.plist;因为有检验,容易造成闪退的)
状态栏有问题的Cydia界面
添加字段
打开添加字段的开关(最下)
修复以后的Cydia状态栏恢复正常
以上操作完成后都需要Respring(刷新缓存)
关于IPA破解安装补丁的说明
1.目前的IPA破解安装补丁有2种,(不要以为只有什么AppSync才叫破解补丁,只是一个名字而已)
2:基于MobileSubstrate (现在改名叫Cydia Substrate 了) 方式的,作者号称严格遵守MobileSubstrate的工作原理,采取的外挂钩子形式的,绝无程序修改,但是我测试后发现极不稳定,而且采用这个方式的补丁有兼容性的问题,一旦出现天气,计算器等闪退现象,删除那2个缓存文件都无法修复!只能重刷固件!
另外的几点说明:
1,尽量不建议使用iTunes的备份还原功能,尤其是越狱过的机器,会将很多垃圾恢复进去,造成各种莫名其妙的问题,比如股市的状态栏问题我怀疑就是因为恢复了低版本的备份导致的!还有其他一些乱七八糟的配置文件都会恢复进去!
2,不要迷信什么精简,优化!不要有过强的洁癖观点!根基不稳是会垮楼的,基础的依赖是宁有勿缺!何况大部分的依赖实际上就是几个放在目录里面的执行文件,仅在需要的时候去调用它,根本不是常驻占用内存的!
3,尽量不要安装第三方源的修改过包名(Package)的插件,目前大部分的收费插件的加密主要是校验Package包名的,安装第三方源的很容易出现问题!还有特别强调的就是依赖级别的程序绝对不能安装第三方源的,比如WinterBoard,BytaFont,SBSettings 等有扩充组件的程序,因为它们的扩充组件在安装时会通过原版的(Package)包名来判断是否有安装主程序,如果没有对应的(Package),就会自动在源里面搜索并添加到安装列表里面,哪怕你安装过相同的但包名不同的程序,这样就直接造成程序冲突!