Copy Folder From Iphone Resourse directory to Application Directory



i am new to Iphone programming. I want to copy a folder(which contains subfolder hierearchy and files) from resourse folder to application folder. i have no idea about this. Please suggest how can i do this task?



3 ответов


copyItemAtPath:toPath:error will copy an entire folder to a new location, if the atPath is a directory.


There is some information missing here. If you want to do this at Build time:

If you have a resource folder in Xcode, with a default build configuration, then all the items of the resource folder will all be copied into your application bundle, meaning your app, whne you Build. You don't have to do any extra work.

By selecting items from the resource folder you can do a Get Info on them and select to have each included or not included in the target.

If you want to do this at Runtime:

If you want to copy items from your folder to another folder, you can follow this. However, you can't write to the Application folder. You can write to the Documents, Preferences and tmp folder and that is about it.


Вы можете копировать файлы только в документы вашего приложения или в папки tmp. Если вы измените пакет приложения во время выполнения, он сломается.

Я не уверен, что вы пытаетесь сделать, но вот несколько указателей ...

Ознакомьтесь с NSFileManager . Сначала вы создаете файловый менеджер:

 NSFileManager *fileManager = [NSFileManager defaultManager];

Затем вы можете перечислить файлы в каталогах:

 NSArray *files = [fileManager contentsOfDirectoryAtPath:@"somepath" error:NULL];

Затем вы можете просто просмотреть массив и скопировать их с помощью метода copyItemAtPath: toPath: error:

 if([fileManager copyItemAtPath:@"source" toPath:@"destination" error:NULL]) {
} else {

Вы можете получить путь к папке с ресурсами с помощью [[NSBundle mainBundle] resourcePath].

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