Я создаю приложение с электронным, которое сохраняет текст в файлы в выбранной пользователем директории. При запуске приложения пользователь выбирает каталог, в котором должны храниться его данные. Я сохраняю этот каталог с помощью 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 отклонила приложение с read /доступ на запись к /
?