Я разрабатываю настольное приложение, которое сохраняет свои проекты на диск. Проекты содержат несколько файлов, таких как json
и jpg
т. д.
Я «сжимаю» их все вместе в один файл . Пример:
filename.project <- compressed zip
manifest.json <- compressed contents
file1.jpg
Мне интересно, можно ли вместо этого выводить несжатые данные в папку и каким-то образом настроить мою ОС для обработки этой папки как одного файла ? Пример:
filename.project <- folder, but it gets treated like a file
manifest.json <- uncompressed contents
file1.jpg
Определение «Обрабатывается как один файл»:
На моем Mac есть 2 примера, где это происходит: - Все приложения отображаются в виде .app
файлов, но внутри представляют собой папки, которые я могу просматривать через Терминал - 1Password хранит хранилище паролей в .agilekeychain
папке, которая синхронизируется с Dropbox как папка, но появляется в Finder как один файл.
В информации для разработчиков Apple говорится, что да, вы определенно можете создать свой собственный пакет или пакет. Кажется, вы хотите пакет .
Пакет против комплекта обсуждается здесь.
В основном - зарегистрируйте свой пакет в системе, чтобы папки с расширением отображались как пакет, а не как папка (в приложении info.plist должен быть соответствующим образом установлен ключ LSTypeIsPackage
для каждого из типов файлов пакета, которые вам нужно создать). Затем настройте приложение на автоматическое (используя NSFileWrapper
) или вручную создание самого пакета при сохранении.
Скотт Риппи