UIActivityViewController удаляет элементы из activityItems

#swift #uikit #uiactivityviewcontroller

#swift #uikit #uiactivityviewcontroller

Вопрос:

В Swift совместное использование содержимого кажется довольно простым. Определяется кнопка с действием для вызова контроллера представления UIActivity. Когда кто-то просто хочет поделиться изображением в каталоге ресурсов вместе со строкой текста, эти строки кода работают и заполняют текст и изображение для «некоторых» приложений. Для некоторых приложений они удаляют либо изображение, либо текст.

  1. Facebook Messenger: текст удален
  2. WhatsApp: изображение удалено
  3. Сигнал: текст удален
  4. Почта: оба в порядке!
  5. Stocktwits: оба в порядке!
  6. Разногласия: оба в порядке!
  7. LinkedIn: изображение удалено
  8. iMessage: оба в порядке!

[Код]

     var text: String = "Check out this App!"
    let image: UIImage = UIImage(named: "SharePic")!

    let shareItems : [Any] = [(image), text]
    let av = UIActivityViewController(activityItems: shareItems, applicationActivities: nil)
    UIApplication.shared.windows.first?.rootViewController!.present(av, animated: true, completion: nil)
 

Это ошибка в UIKit? Не имеет смысла, что Facebook Messenger удалит текст.

Нужно ли возвращаться к обычному Swift, чтобы заставить это работать?

Комментарии:

1. Я не думаю, что это имеет какое-либо отношение к SwiftUI. UIActivityViewController является частью UIKit. Если оба элемента работают не только в приложениях Apple по умолчанию, но и в нескольких сторонних приложениях, мне трудно понять, почему это не ошибка с приложениями, а не с Apple framework / API.

2. возьмем, к примеру, Facebook messenger. если вы делитесь только текстом, это работает. если вы делитесь только рисунком, это работает. но если вы попытаетесь поделиться обоими, он удалит текст. возможно, это стороннее решение, позволяющее вам одновременно использовать только одну вещь? мне кажется глупым.

3. Я согласен, но если он работает в Stocktwits и Discord, а также в приложениях Apple по умолчанию, если нет доказательств обратного (с которыми, возможно, кто-то другой согласится), похоже, что framework / API работает нормально.

4. да, возможно, это не проблема Swift. Забавно, что теперь приложение для обмена в Twitter также отключено. Хотя у меня открыт Twitter. Мне это кажется слишком загадочным. Хочет, чтобы я отправился на охоту за ошибками в течение дня! тьфу.