Доступ к файлам C ++ в папку «Документы» в macOSX Catalina - PullRequest
0 голосов
/ 06 марта 2020

Я создаю приложение C ++ в переносимом коде C ++, который может создавать для Windows или Ma c OSX. Это аудиоприложение, которому нужен доступ только для чтения к файлам WAV и MP3.

Некоторые аудиофайлы включены в мой пакет .app. У программного обеспечения нет проблем с чтением этих файлов.

Другие файлы содержатся в каталоге пользователя (я полагаю, вложенные папки Documents и Desktop). Программное обеспечение предоставляет окно Finder для выбора каталога аудиофайлов. Пользователь просматривает каталог, но когда мое программное обеспечение перечисляет файлы в этом каталоге, оно возвращает пустой список. Итерация каталога обрабатывается классом DirectoryIterator библиотеки JUCE. (Одной из альтернатив было использование std :: filesystem для итерации каталога содержимого, но это не поддерживается в более старых версиях macOSX-копий стандартной библиотеки.)

У меня проблемы с доступом к файлам на некоторых клиентских компьютерах , но не на одной из моих машин с двумя разработчиками.

Сборка выполняется с помощью Hardened Runtime. Песочница в приложении отключена.

У меня нет диалогового окна с запросом разрешений, чего бы я ожидал, если бы он был заблокирован ОС? Мое приложение не отображается в разделе «Настройки»> «Безопасность и конфиденциальность».

Мне известны некоторые записи, которые необходимы для существования файла info.plist, но я немного удивлен, что добавление этой строки исправляет что-либо ? Я жду обратной связи, чтобы увидеть, если добавить это исправляет что-нибудь. https://developer.apple.com/documentation/bundleresources/information_property_list/nsdocumentsfolderusagedescription?language=objc

Возможно, что-то очевидное мне не хватает, но я застрял. Был бы признателен нежный толчок.

...