#swift
#swift
Вопрос:
Я пытаюсь запустить приложение предварительного просмотра из своего Swift-приложения.
Я думаю, что это работало так до обновления до BigSur (к сожалению, я не могу протестировать его в предыдущей ОС).
Приложение должно иметь возможность отображать любой файл в файловой системе с помощью приложения предварительного просмотра.
Что я пробовал:
- удалена изолированная среда из целевых возможностей
- добавлены документы iCloud
- добавлено com.apple.security.temporary-исключение.files.absolute-path.read-write со значением «/» для прав доступа.
func openPreviewApp(path : String)
{
let url = NSURL(fileURLWithPath: "/System/Applications/Preview.app", isDirectory: true) as URL
let configuration = NSWorkspace.OpenConfiguration()
configuration.arguments = [path]
NSWorkspace.shared.openApplication(at: url,
configuration: configuration,
completionHandler: nil)
}
Функция открывает приложение предварительного просмотра, но не файл, указанный в path — вместо этого отображается диалоговое окно выбора файла.
открыть -предварительный просмотр ЭТОГО ПУТИ в терминале работает нормально.
Есть идеи?
Комментарии:
1. Если вы предполагаете, что вам разрешен доступ к любому файлу в любом месте, вы ошибаетесь. Я устал объяснять причину снова и снова.
2. Спасибо за подсказку @ElTomato. Я удалил изолированную среду из целевых возможностей и добавил документы iCloud для этих папок. Этого, похоже, недостаточно. Мое приложение хочет отобразить любой файл в файловой системе (с помощью приложения предварительного просмотра) — как я могу предоставить эту привилегию?