我试着使用代码
-(bool)checIfWorksOnJailbreak;
{
NSString *s = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"Info.plist"];
NSLog(@"%@",s);
if([[NSFileManager defaultManager] fileExistsAtPath:s]) {
NSDictionary *plistDictionary = (NSDictionary*)[NSKeyedUnarchiver unarchiveObjectWithFile:s];
NSString *valueString = [plistDictionary objectForKey:@"SigerIdentity"];
if([valueString isEqualToString:@"Apple OS Application Signing"])
return true;
else
return false;
}
return false;
}它总是会导致错误
*** Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: '*** -[NSKeyedUnarchiver initForReadingWithData:]:
incomprehensible archive version (-1)'在行
NSDictionary *plistDictionary = (NSDictionary*)[NSKeyedUnarchiver unarchiveObjectWithFile:s];欢迎您的评论
发布于 2012-06-06 11:24:27
NSKeyedUnarchiver (和NSKeyedArchiver)不是用来编码和解码plist的。相反,它们用于序列化和反序列化实现NSCoding协议的对象。要将plist数据读入字典,您应该使用:
NSDictionary *plistDictionary = [NSDictionary dictionaryWithContentsOfFile:s];https://stackoverflow.com/questions/10907765
复制相似问题