Как поделиться двоичным файлом Core Data с его расширением? - PullRequest
0 голосов
/ 05 мая 2020

Я пытаюсь поделиться файлом с UIActivityViewController. Однако файл хранится в виде двоичного атрибута объекта Core Data. Таким образом, расширение файла несколько потеряно, и меню действий не соответствует ему, он показывает пустой документ и делится файлом без расширения. В моем случае это pdf. Когда я делаю это из связанного файла с параметром URL, все хорошо, но я хочу использовать Core Data. И я хочу, чтобы он знал, что это pdf. Знаете ли вы какой-нибудь обходной путь?

func shareButton(destination: Data) {
        let av = UIActivityViewController(activityItems: [destination], applicationActivities: nil)

        UIApplication.shared.windows.first?.rootViewController?.present(av, animated: true, completion: nil)
    }

[...]
if item.file != nil {
    Button(action: {
       withAnimation {
         self.showShareSheet = true

         //self.pdf = Bundle.main.url(forResource: self.item.identifier, withExtension: "pdf") //this one works fine as long as URL is required

          self.shareButton(destination: self.item.file!)

          }
      }) {
          Image(systemName: "square.and.arrow.up").frame(minWidth: 40)
          .font(.headline)
          .padding(.top, 10)
          .padding(.trailing, 15)
          .foregroundColor(.primary)
      }
   }
...