В моем приложении мне нужно иногда проверять, является ли работающее устройство джейлбрейком или нет. Это наиболее полный метод я нашел:Метод проверки джейлбрейка, яблоко одобрит это?
BOOL Jail=NO;
if ([[NSFileManager defaultManager] fileExistsAtPath:@"/Applications/Cydia.app"] ||
[[NSFileManager defaultManager] fileExistsAtPath:@"/Library/MobileSubstrate/MobileSubstrate.dylib"] ||
[[NSFileManager defaultManager] fileExistsAtPath:@"/bin/bash"] ||
[[NSFileManager defaultManager] fileExistsAtPath:@"/usr/sbin/sshd"] ||
[[NSFileManager defaultManager] fileExistsAtPath:@"/etc/apt"] ||
[[NSFileManager defaultManager] fileExistsAtPath:@"/private/var/lib/apt/"] ||
[[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"cydia://package/com.example.package"]]) {
Jail= YES;
}
FILE *f = NULL ;
if ((f = fopen("/bin/bash", "r")) ||
(f = fopen("/Applications/Cydia.app", "r")) ||
(f = fopen("/Library/MobileSubstrate/MobileSubstrate.dylib", "r")) ||
(f = fopen("/usr/sbin/sshd", "r")) ||
(f = fopen("/etc/apt", "r"))) {
fclose(f);
Jail= YES;
}
fclose(f);
NSError *error;
NSString *stringToBeWritten = @"This is a test.";
[stringToBeWritten writeToFile:@"/private/jailbreak.txt" atomically:YES encoding:NSUTF8StringEncoding error:&error];
[[NSFileManager defaultManager] removeItemAtPath:@"/private/jailbreak.txt" error:nil];
if(error == nil)
{
Jail= YES;
}
Что я не нашел, это четкий ответ на вопрос: «Apple, одобрит этот код» , В руководящих принципах я могу читать:
"Apps that read or write data outside its designated container area will be rejected".
Однако ясно, что я пытаюсь писать или читать только, чтобы проверить, если устройство взломанный ... Так что есть кто-то, что успешно представили этот код яблоко?
возможно дубликат [Как обнаружить, что приложение IOS работает на взломанный телефон?] (Http://stackoverflow.com/questions/413242/how -do-i-detect-that-an-ios-app-is-running-on-a-jailbroken-phone) – thelaws
Прочитать комментарий к этому ответу: http://stackoverflow.com/a/26712383/329801 – thelaws
thank's Я не читал этого ... Во всяком случае, это всего лишь комментарий, только одного человека, и я не знаю, действительно ли этот пользователь действительно отправил код, или если он только предположил, что код будет принят – user31929