Получить данные из Share Extension в Swift - PullRequest
0 голосов
/ 27 апреля 2020

Внутри моего приложения у меня есть CustomShareViewController, и с этим рабочий процесс должен быть таким:

  1. Пользователь находится в Safari на каком-то веб-сайте и ищет любой продукт

  2. Пользователь нажимает «поделиться» и выбирает мое приложение

  3. Я анализирую данные с текущего URL-адреса и использую их / сохраняю в моем приложении

Проблема:

Как получить данные в Swift? Мне удалось получить текущий URL, и с этим HTML вот так:

@objc func actionButtonTapped(){

        var html: String?

        if let item = extensionContext?.inputItems.first as? NSExtensionItem,
            let itemProvider = item.attachments?.first,
            itemProvider.hasItemConformingToTypeIdentifier("public.url") {
            itemProvider.loadItem(forTypeIdentifier: "public.url", options: nil) { (url, error) in
                if (url as? URL) != nil {

                    html = (self.getHTMLfromURL(url: url as? URL))

                    self.doStuff(html: html)
                }
            }
        }
}

Но есть ли способ получить данные, которые предоставляет Apple? (image и title)?

Это данные Apple, я имею в виду:

enter image description here

1 Ответ

0 голосов
/ 29 апреля 2020

С подсказкой @ Filip я нашел это Git -Repo:

URLEmbeddedView

С этим я могу просто получить данные, как это:

let urlString = ...
OpenGraphDataDownloader.shared.fetchOGData(urlString: urlString) { result in
    switch result {
    case let .success(data, isExpired):
        // do something
    case let .failure(error, isExpired):
        // do something
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...