通过UIActivityViewController将文件导出到iCloud Drive时,文件扩展名没有显示在文件名中吗?

时间:2019-01-09 06:42:42

标签: ios icloud uiactivityviewcontroller file-extension file-type

我正在使用UIActivityViewController在iOS11的新File App功能的帮助下将我的应用程序中的RTF文件导出到iCloud Drive。

相关代码如下:

struct MyFileObj {
    var name: String = "file10"
    var rtfString: String
    var rtfURL: URL {
    return folderURL.appendingPathComponent(name).appendingPathExtension("rtf")
}
...
...
...
func exportToRTFURL() -> URL? {
    let data = rtfString.data(using: .utf8)!

    do {
      try data.write(to: rtfURL)
    } catch {
      return nil
    }     
    return rtfURL
}

}

Class MYVC: {
...
...
...
func presentShareUI(_ shareUrls: [URL], sender: Any?) {
    let vc = UIActivityViewController(activityItems: shareUrls, applicationActivities: nil)
    vc.popoverPresentationController?.permittedArrowDirections = [.right, .left]
    vc.popoverPresentationController?.sourceView = sourceView
    vc.popoverPresentationController?.sourceRect = CGRect(x: sourceView.frame.width/2, y: sourceView.frame.height / 2, width: 0, height: 0)
    vc.preferredContentSize = CGSize(width: 100, height: 100)

    present(vc, animated: true) {
        self.selectBtn.isEnabled = true
        self.fileActionBarBtnItems.forEach { $0.isEnabled = true }
    }

}

}

执行导出作业时,代码如下:

let myFileObjc = MyFileObj()
let shareURLs = [myFileObjc.exportToRTFURL()!]
self.presentShareUI(shareURLs, sender: nil)

到目前为止,一切都正常,UI上显示了文件名及其扩展名“ .rtf”:

但是,当我实际将其添加到iCloud Drive时,文件类型“ rtf”的扩展名消失了:

我的代码更奇怪的行为是,当我点击使用AirDrop进行共享时,该文件将出现在我的MBP的下载文件夹中,并带有所需的“ .rtf”文件扩展名。

当我将文件导出到iCloud Drive时,如何也显示相同的文件扩展名“ .rtf”?

任何帮助将不胜感激,在此先感谢。

0 个答案:

没有答案