iOS MDM:我们可以了解设备是root还是越狱?

时间:2015-01-19 12:38:18

标签: ios jailbreak mdm

我正致力于iOS的MDM实施。我想知道是否有任何命令可以让我们知道iOS设备是root还是jailbroken?

我见过MDM协议参考,但我没有在DeviceInformation命令中找到任何字段来了解这一点。

服务器如何从设备中了解此状态?

2 个答案:

答案 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
}

此代码未经过实际测试..如果有效,请告诉我。