国行手机比美版、港版、韩版手机新增了网络授权的功能,iOS 10 及以上系统版本,任何应用首次打开,如果有请求网络的行为,都会提示网络请求授权的对话框,如下图所示:
首次打开 Cydia 并没有提示网络请求授权的对话框,这就是导致国行手机 Cydia 不能上网的原因。允许上网的应用列表信息保存在以下这几个文件:
1 2 3 |
/var/preferences/com.apple.networkextension.plist /var/preferences/com.apple.networkextension.cache.plist /var/preferences/com.apple.networkextension.necp.plist |
只要删除这些文件就不会有网络请求授权的问题,但是没有 SSH,我们怎么执行命令去删除这三个文件?在笔者写的这篇文章《越狱后抹掉所有内容修复 Cydia》有讲解安装 MobileTerminal (手机终端) 的方法,安装上 MobileTerminal (手机终端) 可以执行命令。整个解决方法的步骤如下:
(1) 下载 MobileTerminal.deb。
(2) 使用 dpkg -x 命令解压 MobileTerminal.deb:
1 2 |
mkdir MobileTerminal dpkg -x mobileterminal_1.0_beta1_iphoneos-arm.deb MobileTerminal |
(3) 打包成 IPA 包:
1 2 3 4 5 |
cd MobileTerminal/ cd Applications/ mkdir Payload mv MobileTerminal.app Payload zip -r MobileTerminal.ipa Payload |
(4) 打开 CydiaImpactor,将 MobileTerminal.ipa 拖到 CydiaImpactor 上,输入你的 Apple ID 账号和密码,将 MobileTerminal 安装到手机上。
(5) 打开 MobileTerminal 输入以下命令删除文件:
1 2 3 4 5 |
su cd /var/preferences rm com.apple.networkextension.plist rm com.apple.networkextension.cache.plist rm com.apple.networkextension.necp.plist |
然后重新打开 Cydia 即可上网。
----------------------------------
由于 MobileTerminal 对高版本系统支持不好,如果是 iOS 11及以上的系统可以参考这个方法:https://www.ioshacker.net/thread-141-1-1.html