Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 将udid字符串保存到文本文件_Ios_Objective C_Save_Udid - Fatal编程技术网

Ios 将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

嗨,我正在iOS上开发一个简单的激活应用程序。我想将udid保存在文本文件中,并与当前udid相等,但无法将udid保存到文本文件中

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