как я могу создать и получить доступ к общему каталогу документов группы приложений?

я использую пользовательское расширение клавиатуры, затем загружаю тему клавиатуры с сервера и сохраняю в каталоге документов приложения, но каталог документов приложения не может получить доступ в пользовательском расширении клавиатуры, поэтому необходимо совместно использовать каталог группы приложений. как мне быть пожалуйста помогите мне.

Теперь я пытаюсь это сделать, но это не работает.

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)
                }

person ikbal    schedule 06.04.2019    source источник
comment
Вы включили группы приложений для обеих целей?   -  person vadian    schedule 06.04.2019
comment
да уже сделай это   -  person ikbal    schedule 06.04.2019
comment
Используйте каталог, который вы создали выше, для сохранения файлов вместо каталога документов приложения.   -  person iphonic    schedule 06.04.2019
comment
я использую для получения данных в расширении, но он не работает, как в   -  person ikbal    schedule 06.04.2019
comment
let fileManager = FileManager.default, если let directory = fileManager.containerURL(forSecurityApplicationGroupIdentifier: group.anishmodan.fontapp) { print(directory.path) let pathUrl = directory.appendingPathComponent(Test.jpg) print(pathUrl.path as Any) let Image1 = UIImage(contentsOfFile: pathUrl.path)! //после установки этого на изображении }   -  person ikbal    schedule 06.04.2019
comment
любая идея, как я могу открыть этот файл: /private/var/mobile/Containers/Shared/AppGroup/9340E258-6816-4EB4-83E7-34EFDFEA86DB/Test.jpg   -  person ikbal    schedule 06.04.2019


Ответы (1)


Решено

  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)!)! 
person ikbal    schedule 08.04.2019
comment
Я хочу писать журналы в проекте расширений, я создал файл в общей папке группы приложений, но все равно не могу записать данные в файл, знаете почему? - person Anita; 11.02.2021