应用扩展和主应用之间的共享文件
Shared file between app extension and main app
我需要你的帮助来弄清楚如何使我的 .json 文件可供主应用程序和应用程序扩展访问。
我有一个扩展,当按下 post 按钮时,会在 .json 文件中写入一些数据。但是当我尝试在主应用程序中读取文件时,主应用程序在错误的路径中读取了一个空白文件,实际上应用程序在这个位置读取:https://i.stack.imgur.com/idP3d.png and the extension writes a file in this path: https://i.stack.imgur.com/v8yhr.png。
我试图将该文件包含在捆绑资源中并为这两个应用程序设置该文件的成员资格,但没有任何效果。
要获取文件的路径,我使用此方法:
let file = Bundle.main.url(forResource: "commonfile", withExtension: "json")
非常感谢您的帮助
您可以使用应用程序组功能在 apps/extensions 之间共享文件:
- 为两个目标激活应用组:项目设置 -> 功能 -> 激活应用组 -> 添加新的应用组 ID(通常使用 group.$(YOUR_APP_BUNDLE_ID))
- Files/Folders 位于此 url 将被两个目标访问:
appGroupURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "YOUR_GROUP_BUNDLE_ID")
希望对您有所帮助。
我需要你的帮助来弄清楚如何使我的 .json 文件可供主应用程序和应用程序扩展访问。 我有一个扩展,当按下 post 按钮时,会在 .json 文件中写入一些数据。但是当我尝试在主应用程序中读取文件时,主应用程序在错误的路径中读取了一个空白文件,实际上应用程序在这个位置读取:https://i.stack.imgur.com/idP3d.png and the extension writes a file in this path: https://i.stack.imgur.com/v8yhr.png。 我试图将该文件包含在捆绑资源中并为这两个应用程序设置该文件的成员资格,但没有任何效果。 要获取文件的路径,我使用此方法:
let file = Bundle.main.url(forResource: "commonfile", withExtension: "json")
非常感谢您的帮助
您可以使用应用程序组功能在 apps/extensions 之间共享文件:
- 为两个目标激活应用组:项目设置 -> 功能 -> 激活应用组 -> 添加新的应用组 ID(通常使用 group.$(YOUR_APP_BUNDLE_ID))
- Files/Folders 位于此 url 将被两个目标访问:
appGroupURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "YOUR_GROUP_BUNDLE_ID")
希望对您有所帮助。