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