越狱检测

时间:2013-12-23 21:49:06

标签: ios objective-c xcode5 jailbreak

如果我想让一个应用程序运行一个命令来检查一个设备是否已经越狱,我该怎么做?

(如果程序可以确定是否安装了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];

通过显示此警报,用户无法运行应用程序,因为无法阻止消息在屏幕上显示。我已经查看了一些类似的问题,但是没有一个能为我工作,例如,当我运行此代码时,我收到错误“Expected identifier or'('”。我在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];
}

我做错了什么?我应该把它放在一个单独的文件中吗?

2 个答案:

答案 0 :(得分:3)

您的代码无法编译,因为它不是方法或函数的一部分。 你必须移动该代码,例如到viewDidLoad

(这个答案仅指编译器错误,而不是可能的机制 越狱检测。)

答案 1 :(得分:0)

看起来,我错放了一个“}”,并没有在ViewDidLoad参数中包含该语句。

编辑完程序后,工作正常。