У меня были проблемы с использованием общего ресурса, чтобы получить файл и разархивировать его в папку моей группы приложений.
Вот код:
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"
Кто-нибудь, как решить эту проблему?Любая помощь будет принята с благодарностью!