Swift 如何创建和访问共享应用程序组文档目录?

Swift 如何创建和访问共享应用程序组文档目录?,swift,custom-keyboard,ios-app-group,document-directory,Swift,Custom Keyboard,Ios App Group,Document Directory,我正在使用自定义键盘扩展,然后从服务器下载键盘主题并保存到应用程序文档目录,但应用程序文档目录无法访问自定义键盘扩展,所以需要共享应用程序组目录。我该怎么办?请帮帮我 现在我正在尝试,但它不起作用 let fileManager = FileManager.default if let directory = fileManager.containerURL(forSecurityApplicationGroupIdentifier: "group.company

我正在使用自定义键盘扩展,然后从服务器下载键盘主题并保存到应用程序文档目录,但应用程序文档目录无法访问自定义键盘扩展,所以需要共享应用程序组目录。我该怎么办?请帮帮我

现在我正在尝试,但它不起作用

let fileManager = FileManager.default
                if let directory = fileManager.containerURL(forSecurityApplicationGroupIdentifier: "group.companyname.appname") {
                    //let newDirectory = directory.appendingPathComponent(dataPath)
                    newDirectory = directory.appendingPathComponent("MyDirectory")
                    try? fileManager.createDirectory(at: newDirectory, withIntermediateDirectories: false, attributes: nil)
                    print(newDirectory.path)
                }
解决


您是否在两个目标上都启用了应用程序组?是的,已经启用了。请使用您在上面创建的目录来保存文件,而不是应用程序文档目录。我正在使用扩展名获取数据,但其工作方式与underlet fileManager=fileManager.default(如果let directory=fileManager.containerURL)不同(对于安全性应用程序组标识符:“group.anishmodan.fontapp”){print(directory.path)让pathUrl=directory.appendingPathComponent(“Test.jpg”)print(pathUrl.path如有)让Image1=UIImage(contentsOfFile:pathUrl.path)!//在imageview上设置后}我想在extensions项目中写入日志,我已经在app group共享文件夹中创建了文件,但它仍然无法在文件中写入数据,您知道为什么吗?
  let fileManager = FileManager.default
                                        let url = fileManager.containerURL(forSecurityApplicationGroupIdentifier: "group.companyname.appname")?.appendingPathComponent("logo.png")

                                        // store image in group container
                                        if !fileManager.fileExists(atPath: url!.path) {

                                            let image =  UIImage(data: data)
                                            let imageData : Data = UIImagePNGRepresentation(image!) as! Data
                                            fileManager.createFile(atPath: url!.path as String, contents: imageData, attributes: nil)
                                        }

//ACCESS THIS or get store image 
 let Image1 = UIImage(contentsOfFile: (url?.path)!)!