你能告诉我这段代码中有什么错误吗?我喜欢检查每次启动时是否安装了 cydia.app,如果安装了 Cydia,则标签应该更改并且应该启用按钮,但没有任何反应。
这是代码:
NSString *filePath = @"/Applications/Cydia.app";
if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]){
Lable.text = @"You are jailbroken";
Button.enabled = YES;
}
最佳答案
如果要启用该按钮,则需要将这两行用括号括起来,并删除条件后面的分号。基本上,您的代码应该如下所示:
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"cydia://"]]){
Lable.text = @"You are jailbroken";
Button.enabled = YES;
}
否则,您当前在条件语句后插入分号所使用的内容实际上是一个 null 语句。即使删除分号,也只会执行第一行。因此,您需要删除分号,并插入大括号来设置条件范围。
编辑:
也许您可能需要尝试构建路径而不是对其进行硬编码:
NSString* filePath = [NSSearchPathForDirectoriesInDomains(NSApplicationDirectory, NSUserDomainMask, YES) stringByAppendingPathComponent: @"cydia.app"];
如果该文件仍然不存在,请尝试列出 NSApplicationDirectory
中的文件和目录以查看该文件是否确实存在,或者您需要在其他地方(甚至可能是子文件夹)进行搜索。
关于iphone - ViewDidLoad 什么是 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12343828/