我正致力于iOS的MDM实施。我想知道是否有任何命令可以让我们知道iOS设备是root还是jailbroken?
我见过MDM协议参考,但我没有在DeviceInformation命令中找到任何字段来了解这一点。
服务器如何从设备中了解此状态?
答案 0 :(得分:1)
Apple MDM协议无法检查设备是否已越狱。 MDM供应商通常会为此提出自己的解决方案。
答案 1 :(得分:0)
您可以使用NSFileManager查找Cydia(或类似的应用程序)。你应该检查一下你是否可以通过电话访问bash。你可以尝试这样的事情:
- (BOOL) isJailbroken
{
//If the app is running on the simulator
#if TARGET_IPHONE_SIMULATOR
return NO;
//If its running on an actual device
#else
BOOL isJailbroken = NO;
//This line checks for the existence of Cydia
BOOL cydiaInstalled = [[NSFileManager defaultManager] fileExistsAtPath:@"/Applications/Cydia.app"];
FILE *f = fopen("/bin/bash", "r");
if (!(errno == ENOENT) || cydiaInstalled) {
//Device is jailbroken
isJailbroken = YES;
}
fclose(f);
return isJailbroken;
#endif
}
此代码未经过实际测试..如果有效,请告诉我。