转载请注明文章出处:https://itlanyan.com/fix-jailbreak-problems/

前言

非完美越狱比较坑爹,设备没电或者不小心重启,越狱状态就会失效。重复“越狱-失效”的过程,不仅带来使用上的麻烦,还会导致一些意外发生,样例可参考本人之前的博客:请激活越狱状态,并安装pp助手越狱版

问题

今天打开ipad,pp助手越狱版点击闪退,其他已安装软件也闪退。按照之前的做法,连接到电脑上,重新越狱一次即可。估计今天pp助手抽风,越狱时总是提示:“安装失败 程序猿在玩命修复中,请稍后安装”。重试了许多次依然如此,更新、重装皮皮助手也无济于事。

安装失败 程序猿在玩命修复中,请稍后安装

心想着越狱功能可能出问题了,还原一下手机到非越狱状态然后再重试吧。于是打开设置,抹掉所有的设置和内容。设置好手机后重新连上电脑,发现皮皮助手依然提示手机已越狱!再次尝试用pp助手越狱,还是同样的错误。

解决

用pp助手又试了几次,同样的错误让我意识到可能出现了其他问题,需要用另外的办法。根据网上提示尝试安装iTunes等都无法解决问题,开始上网找其他越狱工具,最后选择了爱思助手。坑爹的是爱思助手安装后微软杀毒软件提示木马,要选择“允许”。安装好爱思助手后,将手机连接到电脑,安装必要的驱动,首页便会出现机器信息。切换到“刷机越狱”一栏,找到“一键越狱”,在右侧根据苹果系统版本选择相应菜单。例如我的ipad是iOS 10.1.1,点击“iOS 10.0 ~ 10.3.3越狱”,爱思助手开始在手机上安装”yalu102″越狱工具。yalu102安装好后,在ipad上打开,点击屏幕上的”go”开始越狱,稍等一会就会越狱成功,后打开yalu102,界面提示“already jailbroken”信息。

对于越狱后又还原了手机的人来说,这才完成了越狱的第一步。如果你安装自签名软件,会提示“设备未安装AppSync补丁”的错误信息。根据爱思助手的帮助和网上资料,AppSync要通过”Cydia”来安装。越狱的设备都会安装”Cydia”,但是其图标被隐藏。打开Cydia的方法是:启动Safari浏览器,在地址栏输入”cydia://”,点击回车,出现“在Cydia中打开”的弹框,点击确定然后打开Cydia。

有了Cydia,理论上可以安装各种功能增强插件。但是启动后,首先提示“Could not open file /var/lib/dpkg/status – open(2: No such file or directory)”的错误。忽略后进入Cydia界面,安装软件会提示:”could not open file – open(2: No such file or directory)”和”Problem opening”的警告,导致插件不能正常安装和升级。

手机越狱后又重置手机,手机变成网上说的“白苹果”。再次越狱,使用Cydia就会出现上图中的问题。这时的手机的手机状态是已越狱(安装了Cydia),但是功能不完整,AppSync和AFC2插件有问题,其他插件也不能安装。所以首先要修复Cydia,才能安装AppSync和AFC2插件。

根据威锋论坛的“这篇帖子”,修复流程如下:先在手机上安装”Terminal”终端软件,然后将lib文件夹拷贝到/var目录下。安装ipa需要用”Cydia Impactor”和苹果id的设备专用密码。下载Cydia Impactor后,将下载的ipa拖入,输入苹果id和专用密码,手机上就会出现“Terminal”软件。

如果打开”Terminal”后正常,按照帖子中教程操作即可。但我碰到的是软件打开后提示“forkException not allowed to fork from inside sandbox”的错误,然后软件退出,真是好事多磨。根据国外的“这篇文章”,这是因为还原手机前设备没有安装过终端软件。这都已经是过去式,还有什么补救的方法呢?

仔细看了教程,发现教程的主要目的是将lib文件夹放入到/var下。至于教程中说的ipa,只是用来执行shell命令。如果有执行命令的shell不就可以不用安装这个报错的ipa了吗?立马想到爱思助手中有“打开SSH通道”的功能,或许说的就是打开到手机的ssh连接。

点击“打开SSH通道”,然后用putty等ssh客户端连接”127.0.0.1″的22端口,用户名和密码分别是”root”和”alpine”。成功连接后执行cp命令:cp -r /var/mobile/Media/lib /var。按回车后,文件复制成功,再次打开Cydia,会发现红色的错误提示和黄色的警告均消失不见,AppSync等插件也能正常安装和更新。

总结

如果你在越狱过程中遇到如下问题:

  1. 使用皮皮助手提示“程序猿在玩命修复中,请稍后安装”;
  2. 打开Cydia提示“Could not open file /var/lib/dpkg/status – open(2: No such file or directory)”的错误,或者安装软件过程中出现”could not open file – open(2: No such file or directory)”和”Problem opening”的警告;
  3. 根据网上教程修复Cydia时出现“forkException not allowed to fork from inside sandbox”的错误;

本文应该对你有帮助。

修复Cydia用的lib文件夹可从文中威锋论坛的链接或者网上下载。另外如果你在使用Cydia Impactor出现“provision.cpp:71 ios/submitDevelopmentCSR = 7460 You already have a current iOS Development certificate or a pending certificate request.”的错误,可点击上方“Xcode”菜单,然后点击“Revoke certificates”解决报错。

参考

  1. http://www.cydiaimpactor.com/
  2. https://bbs.feng.com/forum.php?mod=viewthread&tid=10899176&extra=&page=1
  3. https://www.i4.cn/news_detail_1623.html
  4. https://www.cydiageeks.com/fix-not-open-varlibdpkgstatus-ios-9-3-3.html
  5. https://www.redmondpie.com/fix-cydia-could-not-open-file-varlibdpkgstatus-ios-10-error-after-jailbreak-heres-how/
  6. https://www.geekcosmos.com/cydia-impactor-error-fix-you-already-have-current-ios-development-certificate/