美文网首页
iOS9以后如何判断iOS设备是否越狱

iOS9以后如何判断iOS设备是否越狱

作者: Scott丶Wang | 来源:发表于2016-07-05 12:02 被阅读809次

由于iOS9以后出现白名单,造成控制台不断打印警告
所以换成以下方式判断

+ (BOOL)isJailbreak {
    NSArray *paths = @[@"/Applications/Cydia.app",
                       @"/private/var/lib/apt/",
                       @"/private/var/lib/cydia",
                       @"/private/var/stash"];
    for (NSString *path in paths) {
        if ([[NSFileManager defaultManager] fileExistsAtPath:path]) return YES;
    }
    
    FILE *bash = fopen("/bin/bash", "r");
    if (bash != NULL) {
        fclose(bash);
        return YES;
    }
    
    NSString *path = [NSString stringWithFormat:@"/private/%@", [NSString stringWithUUID]];
    if ([@"test" writeToFile : path atomically : YES encoding : NSUTF8StringEncoding error : NULL]) {
        [[NSFileManager defaultManager] removeItemAtPath:path error:nil];
        return YES;
    }
    return NO;
}
// NSString 扩展方法
+ (NSString *)stringWithUUID {
    CFUUIDRef uuid = CFUUIDCreate(NULL);
    CFStringRef string = CFUUIDCreateString(NULL, uuid);
    CFRelease(uuid);
    return (__bridge_transfer NSString *)string;
}

相关文章

网友评论

      本文标题:iOS9以后如何判断iOS设备是否越狱

      本文链接:https://www.haomeiwen.com/subject/fmuhjttx.html