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

时间:2019-02-21 14:52:54

标签: ios swift swift-extensions

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

let file = Bundle.main.url(forResource: "commonfile", withExtension: "json")

非常感谢您的帮助

1 个答案:

答案 0 :(得分:1)

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

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

希望这会有所帮助。