使用Swift在目标之间共享**文件**

时间:2017-03-08 22:14:40

标签: ios swift swift3

我有一个动作扩展程序及其随附的应用程序。在我的操作扩展程序中,文件已创建,我希望能够从我的主应用程序访问它们。

使用UserDefaults不是一个选项,因为我必须共享相对较大的文件(包括图像,视频等)。

我怎样才能做到这一点?

Not helpful. Also not helpful.

1 个答案:

答案 0 :(得分:3)

您执行此操作的方式是使用应用程序组。如您所见,您可以使用UserDefaults进行分享,但也可以使用FileManager进行分享。

  1. 在目标下创建应用程序组 - >功能:
  2. App Group Enable

    1. 通过FileManager访问目录:

      fileprivate func sharedContainerURL() -> URL? {
          let groupURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "com.dsdevelop.appgroup")
          return groupURL
      }
      
      func writeSharedData(data:Data, to fileNamed:String) -> Bool {
      
          guard let url = sharedContainerURL() else {
              return false
          }
      
          let filePath = url.appendingPathComponent(fileNamed)
      
          do {
              try data.write(to: filePath)
              return true
          } catch {
              print("Write failed: \(error)")
              return false
          }
      }