应用扩展和主应用之间共享文件

3 ios swift swift-extensions

我需要您的帮助来弄清楚如何使主应用程序和应用程序扩展都可以访问我的 .json 文件。我有一个扩展,当按下发布按钮时,它会在 .json 文件中写入一些数据。但是当我尝试读取主应用程序中的文件时,主应用程序在错误的路径中读取一个空白文件,实际上应用程序在这个位置读取: https: //i.stack.imgur.com/idP3d.png和该扩展程序在此路径中写入一个文件:https://i.stack.imgur.com/v8yhr.png。我尝试将该文件包含在捆绑资源中,并为这两个应用程序设置文件的成员资格,但没有任何效果。要获取文件的路径,我使用以下方法:

let file = Bundle.main.url(forResource: "commonfile", withExtension: "json")
Run Code Online (Sandbox Code Playgroud)

非常感谢您的帮助

qtn*_*ngo 6

您可以使用应用程序组功能在应用程序/扩展程序之间共享文件:

  1. 为两个目标激活应用程序组:项目设置 -> 功能 -> 激活应用程序组 -> 添加新的应用程序组 ID(通常使用 group.$(YOUR_APP_BUNDLE_ID))
  2. 位于此 url 中的文件/文件夹将被两个目标访问:appGroupURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "YOUR_GROUP_BUNDLE_ID")

希望这可以帮助。