Песочница и псевдоним Finder

Я пытаюсь создать защищенный URL-адрес для файла обеспечения пользователя, который является псевдонимом, используя этот метод, который использует метод resolvedFinderAlias():

func storeBookmark(url: URL) -> Bool
{
    //  Resolve alias before storing bookmark
    let origURL = (url as NSURL).resolvedFinderAlias()

    //  Peek to see if we've seen this key before
    if let data = bookmarks[url] {
        if self.fetchBookmark(key: url, value: data) {
            Swift.print ("= \(url.absoluteString)")
            return true
        }
    }
    do
    {
        let options:URL.BookmarkCreationOptions = [.withSecurityScope,.securityScopeAllowOnlyReadAccess]
        let data = try url.bookmarkData(options: options, includingResourceValuesForKeys: nil, relativeTo: origURL)
        bookmarks[url] = data
        return self.fetchBookmark(key: url, value: data)
    }
    catch let error
    {
        NSApp.presentError(error)
        Swift.print ("Error storing bookmark: \(url)")
        return false
    }
}

который выдает ошибку при попытке использовать разрешенный URL в качестве относительного URL; Первоначально я просто поменял переданный URL на origURL, который тоже не работал.

Единственное решение состоит в том, чтобы этого не делать или предварительно передать в исходный URL. Это похоже на то, что если вы не можете поменять URL-адреса, вам нужно указать это либо из открытого диалога, либо из папки.

URL-адреса, которые являются псевдонимами, не подходят для работы в песочнице?

0 ответов

Другие вопросы по тегам