判断手机是否越狱

  1. 通过越狱后增加的越狱文件判断
- (BOOL)isJailBreak {
    /// 一般来说,手机越狱后会增加以下文件
    NSArray *jailbreak_tool_paths = @[
        @"/Applications/Cydia.app",
        @"/Library/MobileSubstrate/MobileSubstrate.dylib",
        @"/bin/bash",
        @"/usr/sbin/sshd",
        @"/etc/apt"
    ];
    for (NSString *path in jailbreak_tool_paths) {
        if ([[NSFileManager defaultManager] fileExistsAtPath:path]) {
            NSLog(@"The device is jail broken!");
            return YES;
        }
    }
    NSLog(@"The device is NOT jail broken!");
    return NO;
}
  1. 根据是否能打开cydia判断
- (BOOL)isInstallCydia {
    if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"cydia://"]]) {
        NSLog(@"The device is jail broken!");
        return YES;
    }
    return NO;
}
  1. 根据是否能获取所有应用的名称判断
- (BOOL)isJailBreak {
    if ([[NSFileManager defaultManager] fileExistsAtPath:@"User/Applications/"]) {
        NSLog(@"The device is jail broken!");
        NSArray *appList = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:@"User/Applications/" error:nil];
        NSLog(@"appList = %@", appList);
        return YES;
    }
    NSLog(@"The device is NOT jail broken!");
    return NO;
}

你可能感兴趣的:(判断手机是否越狱)