Как заархивировать пустые папки в Файловом менеджере в iOS?

Я занимаюсь разработкой приложения, такого как файловый менеджер. В этом я создал папку zip, используя любую существующую папку, она отлично работает. Для этого я использовал SSZipArchive API. После почтового индекса я отправляю его по почте. Это тоже хорошо работает.

Теперь, когда я пытаюсь сжать любую пустую папку, она не работает. Значит пустая папка не заархивирована.

2 ответа

Да, глядя на исходный код, метод + createZipFileAtPath:withContentsOfDirectory: только кажется, что заботиться о файлах:

while ((fileName = [dirEnumerator nextObject])) {
    BOOL isDir;
    NSString *fullFilePath = [directoryPath stringByAppendingPathComponent:fileName];
    [fileManager fileExistsAtPath:fullFilePath isDirectory:&isDir];
    if (!isDir) {
        [zipArchive writeFileAtPath:fullFilePath withFileName:fileName];
    }
}

У вас есть два варианта:

  1. Исправьте это самостоятельно, а затем отправьте запрос на получение разрешения автору на github и внесите свой вклад в работу, которая принесла вам пользу.
  2. Живи с этим. Непонятно, как пустая папка, не появляющаяся в zip-файле, так или иначе является проблемой.

Это не стандартная вещь, чтобы иметь файлы-заглушки в таких каталогах. Какой-то файл без содержимого.

Другие вопросы по тегам