FileContainer.swift 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. //
  2. // FileContainer.swift
  3. // App
  4. //
  5. //
  6. import Capacitor
  7. import Foundation
  8. import MobileCoreServices
  9. @objc(FileContainer)
  10. public class FileContainer: CAPPlugin, UIDocumentPickerDelegate {
  11. public var _call: CAPPluginCall? = nil
  12. var containerUrl: URL? {
  13. let id = "iCloud.com.logseq.app"
  14. return FileManager.default.url(forUbiquityContainerIdentifier: id)?.appendingPathComponent("Documents")
  15. }
  16. @objc func ensureDocuments(_ call: CAPPluginCall) {
  17. self._call = call
  18. // check for container existence
  19. if let url = self.containerUrl, !FileManager.default.fileExists(atPath: url.path, isDirectory: nil) {
  20. do {
  21. print("the url = " + url.path)
  22. try FileManager.default.createDirectory(at: url, withIntermediateDirectories: true, attributes: nil)
  23. }
  24. catch {
  25. print("container doesn't exist")
  26. print(error.localizedDescription)
  27. }
  28. }
  29. self._call?.resolve([
  30. "path": self.containerUrl!.path
  31. ])
  32. }
  33. }