Objective c ObjC下载文件并将其保存到目录

Objective c ObjC下载文件并将其保存到目录,objective-c,filesystems,nsurl,writetofile,Objective C,Filesystems,Nsurl,Writetofile,我想从服务器“更新”本地文件(将其保存到目录)。 我什么都试过了!什么都不管用!这是我最后一次尝试: NSURL *url = [NSURL URLWithString:@"http://www.doothie.com/QAFrameworks/QAUpdater.php"]; NSData *urlData = [NSData dataWithContentsOfURL:url]; NSArray *paths = NSSearchPathForDirectorie

我想从服务器“更新”本地文件(将其保存到目录)。 我什么都试过了!什么都不管用!这是我最后一次尝试:

    NSURL *url = [NSURL URLWithString:@"http://www.doothie.com/QAFrameworks/QAUpdater.php"];
    NSData *urlData = [NSData dataWithContentsOfURL:url];


    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"general.qa"];

    NSString *str = [[NSString alloc] initWithData:urlData encoding:NSUTF8StringEncoding];

    [str writeToFile:filePath atomically:TRUE encoding:NSUTF8StringEncoding error:NULL];

不确定您是否正试图这样做,但您不应该尝试下载并替换应用程序包中的文件。而是将文件下载到用户的
~/Library/Application Support/
中。在使用应用程序包中的文件之前,请检查应用程序支持中是否有包含更多当前数据的文件。如果为所有用户安装了应用程序(在
/Applications/
中),则非管理员用户将无权更改应用程序包中的文件。(我们决不能假设每个用户都拥有管理员权限。)

也许这就是正在发生的事情

此外,您正在将所有内容加载到NSString中。这个文件真的包含文本吗?!如果不是,您可能希望改用NSData:

[[NSData dataWithContentsOfURL:url] writeToFile:filePath atomically:TRUE];

有什么问题吗?文件没有出现吗?您是否收到错误?文件未显示。。。实际上,该文件已经存在。我只想覆盖文件该文件位于目录“resources/QStandards”中。注意:1)“resources/QStandards”看起来像一个本地化名称-
filePath
将不会本地化。2) 它是一个相对路径名,我认为
NSSearchPathForDirectoriesInDomains
不会返回它。3) 您是否尝试传入真实的错误对象以查看是否收到任何错误消息?确定不应该是“资源”?