Загрузка URL Bookmark с областью безопасности в Swift - PullRequest
1 голос
/ 02 мая 2020

В изолированном приложении я использую NSOpenPanel, чтобы пользователь выбрал исходную папку. Затем я сохраняю закладку для повторного использования в следующий раз, когда приложение загружается следующим образом:

let defaults = UserDefaults.standard
let bookmark = try! url.bookmarkData(options: .securityScopeAllowOnlyReadAccess)
defaults.set(bookmark, forKey: "sourceFolder")

Затем onAppear:

if let bookmarkData = defaults.data(forKey: "sourceFolder") {
print(bookmarkData) // 808 bytes
var stale = false
let savedCurrentDirectory = try! URL(resolvingBookmarkData: bookmarkData, options: .withSecurityScope, relativeTo: nil, bookmarkDataIsStale: &stale)

Но это не с:

Неустранимая ошибка: попробуйте! выражение неожиданно вызвало ошибку: Ошибка Domain = NSCocoaErrorDomain Code = 259 «Файл не может быть открыт, потому что он не в правильном формате.»

Если я удаляю .withSecurityScope, кажется, работать нормально. Что происходит?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...