ObjC скачать файл и сохранить его в каталог - PullRequest
2 голосов
/ 01 декабря 2011

Я бы хотел "обновить" локальный файл с сервера (сохранить его в каталоге).Я пробовал ВСЕ!НИЧЕГО НЕ РАБОТАЕТ!Это моя последняя попытка:

    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];

1 Ответ

3 голосов
/ 01 декабря 2011

Не уверен, что это то, что вы пытаетесь сделать, но вам не следует пытаться загрузить и заменить файл, который находится в вашем комплекте приложений. Вместо этого загрузите файл в пользовательский ~/Library/Application Support/<yourApplicationName>/<yourFiles>. Перед использованием файла в вашем пакете приложений проверьте, находится ли файл с более актуальными данными в поддержке приложений. Если ваше приложение установлено для всех пользователей (в пределах /Applications/), пользователи без прав администратора не будут иметь права изменять файлы в комплекте приложений. (И никогда не следует предполагать, что каждый пользователь работает с правами администратора.)

Возможно, это то, что происходит.

Кроме того, вы загружаете все в NSString. Файл на самом деле содержит текст ?! Если нет, вы можете использовать вместо этого NSData:

[[NSData dataWithContentsOfURL:url] writeToFile:filePath atomically:TRUE];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...