iOS越狱检测

一般来说,越狱会自动安装一个Cydia的APP.

我们知道,一般开发者的App都在如下的路径内:

/var/mobile/Containers/Bundle/Application

数据(Data)的Bundle路径应该是:

/var/mobile/Containers/Data/Application

那么,这二者有什么区别呢.

上面的Bundle里面存放的是咱们工程内的一些资源.如拖进去的图片、音视频资源什么的.
而下面的Data是存放数据的.类似NSUserDefault里面存的一些数据.

如果判断有没有一个app(普通App).判断上面的Bundle里面存不存在即可.

然而.对于一些特殊的App.类似于系统App.他们存在的地方就不是这里了.因为他们具有更高的权限.所以在其他的目录里头.(对于越狱后"自动"安装的Cydia也在这个目录里头)

/Applications/

又由于越狱后,所有App都有了访问系统路径的权限…

那么.简单的检测是否越狱的代码就可以是.判断有没有这个App

let isJailbreak = FileManager.default.fileExists(atPath: "/Applications/Cydia.app")

反正咱们都有访问系统路径的权限…咱们也可以

FileManager.default.fileExists(atPath: "/Applications/Music.app")

对于未越狱的iOS(iPad OS)设备来说.咱们访问不了系统路径.返回的就是false了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值