我浏览了各种有关越狱检测机制的帖子。无论我遇到什么,要么是苹果在审查过程中会拒绝的东西,要么是可以绕过的东西。我也知道苹果删除了越狱API ..
那么,是否有任何万无一失的机制可以让我检查设备是否越狱?
不,没有万无一失的方法。
我不能说这是万无一失的,但我知道它有效,至少在某些情况下(如果不是全部的话)。我已经在我的 App Store 应用程序中使用了此代码 6 个月和 4 次更新,因此 Apple 似乎对此表示满意。
if ([[NSFileManager defaultManager] fileExistsAtPath:@"/bin/bash"] ||
[[NSFileManager defaultManager] fileExistsAtPath:@"/Applications/Cydia.app"] ||
[[NSFileManager defaultManager] fileExistsAtPath:@"/private/var/lib/apt"]) {
// Device is jailbroken
}
任何优秀的黑客都可能找到不操作此代码的方法。让这个更多的黑客证明是留给读者的练习。