Я пытаюсь сохранить изображение размером 7,9 МБ, загруженное с здесь .Но в строке 'try data.write ...' расширение падает, и я получаю это в консоли.
ядро EXC_RESOURCE -> Расширение уведомлений [3137] превысило предел памяти: ActiveHard 12 МБ (фатально)
ядро 46710.034 Память состояния: killing_specific_process pid 3137 [Расширение уведомлений] (для процесса -предел 3) - memorystatus_available_pages: 73906
ReportCrash Запуск таймера транзакции пролонгации по умолчанию 18: 39: 53.104640 + 0530
Расширение уведомлений процесса ReportCrash [3137] уничтожено причиной jetsam по каждому процессу-limit
Это потому, что размер 7,9 МБ слишком велик, чтобы справиться с этим.Если это так, то это не имеет смысла, поскольку необходимо сохранить носитель во временном хранилище перед созданием объекта UNNotificationAttachment.В официальной документации лимит для png файлов указан как 10 МБ, а для видео - 50 МБ.Как мне это решить?
let fileManager = FileManager.default
let folderName = ProcessInfo.processInfo.globallyUniqueString
guard let folderURL = NSURL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent(folderName, isDirectory: true) else {
return nil
}
do {
try fileManager.createDirectory(at: folderURL, withIntermediateDirectories: true, attributes: nil)
let fileURL = folderURL.appendingPathComponent(fileIdentifier)
try data.write(to: fileURL, options: [])
let attachment = try UNNotificationAttachment(identifier: fileIdentifier, url: fileURL, options: options)
return attachment
} catch let error {
}