Qt: OSX: куда поместить (доступны как файловый менеджер, так и exec) ресурсы?

#macos #qt #resources #app-bundle

#macos #qt #Ресурсы #пакет приложений

Вопрос:

я немного смущен наиболее правильным способом управления ресурсами (файлами и папками), необходимыми приложению.

Я разъясняю: У меня есть исполняемый файл (разрабатываемый на mac osx с qt), и у меня есть фиксированная иерархия папок, где хранится множество файлов конфигурации. Эти файлы могут быть отредактированы, добавлены или удалены вручную. Теперь в Windows или Linux я бы просто легко получил эти файлы, просто обратившись к родительским папкам, и эти папки свободно доступны любому файловому менеджеру ОС.

Но в OSX мой исполняемый файл находится внутри .Пакет приложений.

Тогда я должен иметь возможность извлекать ресурсы из пакета (даже если управление ресурсами в qt creator отстой), но пользователь также должен иметь возможность открывать и редактировать пакет приложений, что вообще невозможно … и я не хочу ни развертывать какой-либо менеджер ресурсов, ни помещать конфигурации в (например.) домашняя подпапка (я хочу сохранить все вместе).

Есть ли какое-либо решение? Спасибо!

Ответ №1:

В терминах OS X ваши конфигурационные файлы действительно должны находиться в службе поддержки приложений, пользователь может получить к ним доступ там. Однако они также могут получить к ним доступ из пакета приложений, если вы поместите их туда, щелкнув правой кнопкой мыши и выбрав Просмотр содержимого пакета, затем вы можете изменить файлы и сохранить их.

Комментарии:

1. да, конечно, я знаю о просмотре содержимого пакета, но это не совсем удобная для пользователя задача: / я посмотрю в службу поддержки приложений. Спасибо.

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

3. вероятно, я в конечном итоге это сделаю. однако я имел в виду удобство для пользователя в Linux … лучше сменить парадигму.