Если я хочу, чтобы приложение запускало команду, чтобы проверить, не повреждено ли устройство, как мне это сделать?Обнаружение джейлбрейка
(Это команда, которую я хочу выполнить, если программа может определить, установлена Cydia)
UIAlertView *jailbreakDetection = [[UIAlertView alloc]
initWithTitle:@"Jailbreak Detected"
message:@"This application will not run while a jailbreak is installed."
delegate:nil
cancelButtonTitle:nil
otherButtonTitles:nil];
[jailbreakDetection show];
Показав это предупреждение, пользователь не может запустить приложение, поскольку нет никакого способа, чтобы остановить сообщение от показа на экране. Я рассмотрел некоторые подобные вопросы, но ни один из них не работал для меня, например, когда я запускал этот код, у меня была ошибка «Ожидаемый идентификатор» или «(« ». Я запускаю его в файле NavigationController.m , так что я ударю пользователя на первоначальном запуске приложения.
NSString *filePath = @"/Applications/Cydia.app";
if ([[NSFileManager defaultManager] fileExistsAtPath:filePath])
{
UIAlertView *jailbreakDetection = [[UIAlertView alloc]
initWithTitle:@"Jailbreak Detected"
message:@"This application will not run while a jailbreak is installed."
delegate:nil
cancelButtonTitle:nil
otherButtonTitles:nil];
[jailbreakDetection show];
}
что я делаю неправильно с этим? Должен ли я быть размещая это в отдельном файле?
Не могли бы вы просто проверить, можете ли вы сделать что-то как root. – Justin
* «Ожидаемый идентификатор или« («» * - ошибка компилятора, поэтому вы должны получить это при создании своего приложения, а не при его запуске. Но на самом деле ваш код, похоже, компилируется нормально. Где именно вы получаете сообщение об ошибке? –
Следует отметить, что джейлбрейкинг - это не то же самое, что пиратство. Запрет на всех пользователей, взломанных на джейлбрейк, скорее всего, будет иметь неприятные последствия для вас. – coneybeare