Я создаю приложение с помощью электрона, которое сохраняет текст в файлы в выбранном пользователем каталоге. При запуске приложения пользователь выбирает каталог, в котором должны храниться его данные. Я сохраняю этот каталог с помощью electron-settings
, и при следующем запуске приложения каталог снова автоматически загружается.
Локально все работает отлично, но у меня возникли проблемы с его работой в файле .app для macOS и после подписания.
Мои права в настоящее время выглядят так
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.application-groups</key>
<string>APPLE_GROUP_STRING</string>
<key>com.apple.security.files.user-selected.read-write</key>
<true/>
<key>com.apple.security.files.bookmarks.document-scope</key>
<true/>
<key>com.apple.security.files.bookmarks.app-scope</key>
<true/>
</dict>
</plist>
Когда я выбираю каталог, все работает отлично, но когда я закрываю приложение, а затем пытаюсь читать/записывать файлы в тот же каталог, я получаю сообщение об ошибке «Отказано в доступе». (После ручного выбора каталога снова он работает как положено)
Какие права мне нужно установить, чтобы разрешить доступ к каталогу при запуске?
Есть ли другой обходной путь? Может быть, есть одна кнопка, которая напрямую открывает каталог без обычного диалога выбора файла?
я уже пытался использовать
<key>com.apple.security.temporary-exception.files.absolute-path.read-write</key>
<array>
<string>/</string>
</array>
но по очень очевидной причине проверка Apple отклонила приложение с доступом для чтения/записи к /
????