FileManager и ошибка доступа к группе приложений - PullRequest
0 голосов
/ 26 сентября 2018

У меня были проблемы с использованием общего ресурса, чтобы получить файл и разархивировать его в папку моей группы приложений.

Вот код:

for attachment in content.attachments as! [NSItemProvider] {
            if attachment.hasItemConformingToTypeIdentifier(contentType){
                attachment.loadItem(forTypeIdentifier: contentType, options: nil) { (data, error) in
                    let fileManager = FileManager()
                    let url = data as! URL
                    let destinationURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.KakaoAnalyzer")?.appendingPathComponent("KakaoFilesTemp")
                    do {

                        try fileManager.createDirectory(at: destinationURL!, withIntermediateDirectories: true, attributes: nil)
                        try fileManager.unzipItem(at: url, to: destinationURL!)
                        self.mergeFiles()
                        print("SUCCESSFULLY UNZIPPED")

                    } catch {
                        print(error.localizedDescription)
                        print("UNZIP FAILED")
                    }
                }
            }
        }

Это частьmy didSelectPost()

Я использую расширение share, чтобы получить ZIP-файл через общий ресурс, и ZIPFoundation, чтобы разархивировать его в папку назначения, которая является моей группой приложений с этим расширением и моим основным проектом.

Этот код работает нормально и успешно распаковывается в симуляторе, но когда я запускаю его на своем телефоне, я получаю сообщение об ошибке:

Файл "FILENAME" не может быть открытпоскольку такого файла нет

, когда он явно должен быть, и

Не удалось определить, управляется ли URL-адрес "FILEURL" провайдером файла.

Я пытался переместить файл по URL в мой documentDirectory, но он выдает ошибку:

«FILE» не может быть перемещен, поскольку у вас нет разрешения надоступ "appGroupFolder"

Кто-нибудь, как решить эту проблему?Любая помощь будет принята с благодарностью!

...