QFileDialog из моего изолированного приложения выдает ошибку deny file-read-xattr

Поскольку я включил "песочницу" в своем приложении Qt, при навигации по QFileDialog у меня появляется много сообщений в консоли:

23/02/2016 12:25:51,000 kernel[0]: Sandbox: Joker(87965) deny file-read-xattr /Users/martin/Documents/a.txt
23/02/2016 12:25:51,000 kernel[0]: Sandbox: Joker(87965) deny file-read-xattr /Users/martin/Documents/b.txt
23/02/2016 12:25:52,000 kernel[0]: Sandbox: Joker(87965) deny file-read-xattr /Users/martin/Documents/c.txt

Есть ли способ избежать этого?

1 ответ

Как обсуждено здесь,

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

QString fileSavePath = QFileDialog::getSaveFileName(this, "Save file", "default filename");

Или, если вы создаете экземпляр диалога самостоятельно:

QFileDialog *fileSaveDialog = new QFileDialog(this);
fileSaveDialog->setAcceptMode(QFileDialog::AcceptSave);
fileSaveDialog->selectFile("default filename");

Вы, вероятно, должны также использовать собственный info.plist и вставить ключ ForAppStoreсо значением yes

Чтобы создать собственный список, создайте файл и укажите его в.pro следующим образом: -

QMAKE_INFO_PLIST = Info.plist
Другие вопросы по тегам