Ваш целевой путь должен содержать имя копируемого элемента, а не только папку с документами.Попробуйте:
if([[NSFileManager defaultManager] copyItemAtPath:sourcePath
toPath:[documentsDirectory stringByAppendingPathComponent:@"Populator"]
error:&error]){
...
Редактировать: Извините, неправильно понял ваш вопрос.Не знаю, есть ли лучший вариант, чем перебирать содержимое папки и копировать каждый элемент отдельно.Если вы ориентируетесь на iOS4, вы можете использовать функцию NSArray -enumerateObjectsUsingBlock:
для этого:
NSArray* resContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:copyItemAtPath:sourcePath error:NULL];
[resContents enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop)
{
NSError* error;
if (![[NSFileManager defaultManager]
copyItemAtPath:[sourcePath stringByAppendingPathComponent:obj]
toPath:[documentsDirectory stringByAppendingPathComponent:obj]
error:&error])
DLogFunction(@"%@", [error localizedDescription]);
}];
PS. Если вы не можете использовать блоки, вы можете использовать быстрое перечисление: