我按照攻略制作了有root权限的deb包。手动更新的方法为将新deb包拷贝到var/root/Media/Cydia/AutoInstall目录下,重启手机,重启完成等待30秒完成更新。
程序内自动更新也可以这样实现,从服务器上获得新deb包然后拷贝到Cydia自动安装目录,然后reboot手机。但是问题是重启后必须等待30秒Cydia才能将其更新完毕,如果在这之前用户点击了应用图标,则会造成系统异常,点任何图标都无反应。
不知道如何避免这一现象。求教有没有更好的应用内更新方法。
关注
另外,自动更新一定要重启手机吗?有没有不重启手机的方法(重启应用可以)
因为你已经可以写/var/root/Media/Cydia/AutoInstall目录,所以我猜你的代码已经是以root权限运行了。这样的话,可以直接运行
dpkg -i /path/to/deb
来安装deb包
使用system(“dpkg -i /var/root/test.deb”); 安装能成功。安装成功后如何自动重启应用?
写一个注入SpringBoard中的dylib,安装成功后通知SpringBoard,由它来重启应用