FileManager和访问应用程序组错误

时间:2018-09-26 14:10:35

标签: swift nsfilemanager zipfoundation

使用共享扩展名获取文件并将其解压缩到我的应用程序组文件夹时一直遇到问题。

代码如下:

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

这是我的didSelectPost()

的一部分

我正在使用共享扩展名通过共享获取ZIP文件,并使用ZIPFoundation将其解压缩到我的目标文件夹中,该目标文件夹是具有此扩展名和主项目的应用程序组。

此代码可以很好地运行并且可以在模拟器中成功解压缩,但是当我在手机上运行它时,会出现错误:

  

无法打开文件“ FILENAME”,因为没有这样的文件

明显应该有一个,并且

  

无法确定URL“ FILEURL”是否由文件提供商管理。

我尝试将URL上的文件移动到documentDirectory,但是会产生错误:

  

“ FILE”无法移动,因为您无权访问“ appGroupFolder”

有人可以解决这个问题吗?任何帮助将不胜感激!

0 个答案:

没有答案