Существует ли способ установки файлов в папку «Документы» приложения при установке приложения на iPhone? - PullRequest
1 голос
/ 25 декабря 2009

При установке приложения на iPhone можно ли установить файлы в папку «Документы» приложения?

Другими словами: когда пользователь загружает приложение и устанавливает его на свой iPhone, я хочу автоматически установить некоторые файлы в каталог документов приложения.

Например: у меня есть файл foo.txt, который я создаю во время разработки для своего приложения SeeFooRun. Когда приложение устанавливает , я хочу, чтобы файл foo.txt появлялся в каталоге «Документы», чтобы при первом запуске приложения я получал доступ к файлу foo.txt из каталога «Документы», а не из пакета приложений.

Спасибо!

В примере я сказал «запускается впервые», когда хотел сказать «устанавливает», и изменил остальную часть предложения, чтобы она подходила. Извините за перепутывание!

Ответы [ 3 ]

2 голосов
/ 25 декабря 2009

Я бы сделал это, используя этот метод:

Создайте свойство в корневом списке, установите начальное значение «НЕТ». Когда приложение запускается, проверьте это значение.

Если значением является «НЕТ», создайте документ в каталоге документов, измените значение на «ДА» и сохраните значение.

При следующем запуске приложения значение будет «ДА», и файл не будет перестроен.

Надеюсь, это поможет .....

0 голосов
/ 26 декабря 2009

Одна небольшая вариация при копировании в ответы «Документы» - поместите все, что вы копируете, в папку в созданных вами документах, затем при запуске вы просто проверяете наличие этой одной папки и затем выполняете все операции копирования.

Хотя проверка каждого файла более надежна, особенно если вы добавляете новый файл в обновление, тогда логика копирования будет копироваться в один новый файл без перезаписи старых.

0 голосов
/ 25 декабря 2009

Вы можете сделать что-то вроде этого:

NSFileManager *fileManager = [NSFileManager defaultManager];

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory , NSUserDomainMask, YES);
NSString *documentsDir = [paths objectAtIndex:0];
NSString *pathLocal = [documentsDir stringByAppendingPathComponent:@"foo.txt"];

NSString *pathBundle = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"foo.txt"];

NSError *error;
BOOL success = [fileManager copyItemAtPath:pathBundle toPath:pathLocal error:&error];
...