iOS 13 Share Sheet: Изменение описания субтитров / элемента - PullRequest
4 голосов
/ 06 марта 2020

Новый общий лист iOS 13 содержит приятный заголовок, который показывает контекст элемента, к которому предоставляется общий доступ.

enter image description here

У меня нет удалось выяснить, как изменить описание элемента, хотя. Я использовал функцию ActivityViewControllerLinkMetadata, которая частично дает мне то, что мне нужно (изменение заголовка и значка), но originalURL, который отвечает за отображение описания элемента, принимает только URL, и каждая строка должна быть экранирована, если мы создаем URL из строки ( пространство до% 20, например).

@available(iOS 13.0, *)
        func activityViewControllerLinkMetadata(_: UIActivityViewController) -> LPLinkMetadata? {
            let metadata = LPLinkMetadata()
            metadata.title = song.title

            if let data = song.artistNames.data(using: .utf8) {
                let url = URL(dataRepresentation: data, relativeTo: nil)

                metadata.originalURL = URL(dataRepresentation: data, relativeTo: nil)

                if let image = image {
                    metadata.iconProvider = NSItemProvider(object: image)
                }
            }
            return metadata
        }

App Store и приложение Musi c могут это сделать - кто-нибудь понял это?

1 Ответ

1 голос
/ 09 марта 2020

Это действительно глупо, но вот как это сделать.

metadata.originalURL = URL(fileURLWithPath: "whatever description you want to put")

И, как примечание, вам не нужно создавать сам файл / папку.

...