Подтвердить что ты не робот

IOS копирует файлы из основного каталога в каталог документов

Я пытаюсь скопировать файлы, которые я добавляю в папку с именем "includes", в папку в каталоге документов, также называемую "includes". Я получаю за resContents ноль. Зачем? Спасибо вам

- (void)copyResources{

        NSString *sourcePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"includes"];
        NSString *destPath = [[self applicationDocumentsDirectory] stringByAppendingPathComponent:@"includes"];

        NSArray* resContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:sourcePath error:NULL];

        for (NSString* obj in resContents){
            NSError* error;
            if (![[NSFileManager defaultManager] copyItemAtPath:[sourcePath stringByAppendingPathComponent:obj] toPath:[destPath stringByAppendingPathComponent:obj]
                  error:&error])
                NSLog(@"Error: %@", error);;
        }

    }
4b9b3361

Ответ 1

Вы должны добавить в свой проект Xcode свою папку includes как ссылку на папку, а не группу.

Группы предназначены только для того, чтобы держать вещи организованными, а не предоставлять структуру папок, и поэтому при копировании на устройство все файлы заканчиваются на одном уровне.

Ответ 2

Посмотрите на свой скомпилированный набор приложений.

Обычно генерируемые XCode пакеты являются плоскими. Это означает, что, хотя ваши добавленные файлы ресурсов будут скопированы в пакет, любые созданные вами каталоги не будут и, следовательно, на пути к ресурсу нет каталога "includes". Следовательно, ваше исходное содержимое будет равно нулю. Поэтому в вашем случае попробуйте использовать только `NSString * sourcePath = [[NSBundle mainBundle] resourcePath];

Изменить: Ну и, очевидно, добавление ссылки на папку также работает (кредиты Игнасио Инглесу).