由于現(xiàn)在許多蘋果手機都進行了越獄,而我們開發(fā)有時候需要判斷手機是不是進行了越獄。
判斷用戶是不是進行了越獄
+ (BOOL)isPrisonBreak {
? ? BOOLb1 =NO, b2 =NO, b3 =NO, b4 =NO, b5 =NO;
? ? // 常見越獄文件
? ? NSArray*pathArray =@[
?? ? ? ? ? ? ? ? ? ? ? ? ? @"/Applications/Cydia.app",
?? ? ? ? ? ? ? ? ? ? ? ? ? @"/Library/MobileSubstrate/MobileSubstrate.dylib",
?? ? ? ? ? ? ? ? ? ? ? ? ? @"/bin/bash",
?? ? ? ? ? ? ? ? ? ? ? ? ? @"/usr/sbin/sshd",
?? ? ? ? ? ? ? ? ? ? ? ? ? @"/etc/apt"
?? ? ? ? ? ? ? ? ? ? ? ? ? ];
? ? for(inti =0; i < pathArray.count; i++) {
? ? ? ? NSString*path = pathArray[i];
? ? ? ? if ([[NSFileManager defaultManager] fileExistsAtPath:path]) {
? ? ? ? ? ? b1 =YES;
? ? ? ? }
? ? }
? ? // 讀取系統(tǒng)所有的應用名稱
? ? if ([[NSFileManager defaultManager] fileExistsAtPath:@"/User/Applications/"]){
? ? ? ? b2 =YES;
? ? }
? ? if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"cydia://"]]) {
? ? ? ? b3 =YES;
? ? }
? ? structstatstat_info;
? ? //使用stat系列函數(shù)檢測Cydia等工具
? ? if(0==stat("/Applications/Cydia.app", &stat_info)) {
? ? ? ? b4 =YES;
? ? }
? ? // 讀取環(huán)境變量
? ? char*checkInsertLib =getenv("DYLD_INSERT_LIBRARIES");
? ? if(checkInsertLib) {
? ? ? ? b5 =YES;
? ? }
? ? return(b1 && b2 && b3 && b4 && b5);
}