Ios 将udid字符串保存到文本文件
嗨,我正在iOS上开发一个简单的激活应用程序。我想将udid保存在文本文件中,并与当前udid相等,但无法将udid保存到文本文件中Ios 将udid字符串保存到文本文件,ios,objective-c,save,udid,Ios,Objective C,Save,Udid,嗨,我正在iOS上开发一个简单的激活应用程序。我想将udid保存在文本文件中,并与当前udid相等,但无法将udid保存到文本文件中 NSString *udid = [[[UIDevice currentDevice] identifierForVendor] UUIDString]; NSURL *fileURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"h" ofType:@"txt"]]; NS
NSString *udid = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
NSURL *fileURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"h" ofType:@"txt"]];
NSMutableString *text = [NSMutableString stringWithContentsOfURL:fileURL encoding:NSUTF8StringEncoding error:nil];
NSLog(@"text is : %@",text);
NSString *text1 = text;
NSString *y;
if ([text1 isEqualToString:y]) {
[text appendString:udid];
NSString *myURLString = [fileURL absoluteString];
[text writeToFile:myURLString atomically: YES encoding:NSUTF8StringEncoding error:nil];
NSLog(@"saved to file : %@",text);
}else {
if ([text isEqualToString:udid]) {
NSLog(@"yes thats it");
lable.text = @"yes thats it";
}else {
NSLog(@"nononono");
exit(0);
}
}
你的代码有一些问题。首先是:
if ([text1 isEqualToString:y]) {
“y”在哪里定义或声明
此外,在写入文件时,从不查看错误参数。更改此项:
[text writeToFile:myURLString atomically: YES encoding:NSUTF8StringEncoding error:nil];
为此:
NSError *error;
BOOL success = [text writeToFile:myURLString atomically: YES encoding:NSUTF8StringEncoding error:&error];
if(NO == success)
{
NSLog(@"error from writing to %@ is %@", myURLString, [error localizedDescription]);
}
你可能有更好的线索知道你遇到了什么样的错误
最后,通过您的评论,您已经清楚地表明您正试图将文件直接写入应用程序包中。这是一个大的(沙盒)不
而不是:
NSURL *fileURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"h" ofType:@"txt"]];
改为这样做:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *basePath = [paths firstObject];
NSURL *fileURL = [NSURL fileURLWithPath:[basePath stringByAppendingString:@"/h.txt"]];
这会将您的文件保存到Documents目录中,该目录是保存文件的合法位置。这是give me:写入时出错file:///Users/mji/Library/Application%20Support/iPhone%20Simulator/7.0-64/Applications/C48463FB-F7F0-47AD-A40A-958A3583C29E/active%20text.app/h.txt是无法完成的操作。(Cocoa错误4。)你不应该尝试写入应用程序的捆绑包,这是不允许的。现在,当我想将udid保存到文件时,请给我这个错误,因为写入file:///Users/mji/Library/Application%20Support/iPhone%20Simulator/7.0-64/Applications/C48463FB-F7F0-47AD-A40A-958A3583C29E/Documents/h.txt为空但在NSLog中,h.text对我说:null