Я пытаюсь представить некоторое изображение из LocalNotification, когда пользователь приложения обнаружил «iBeacon».
Процедура
- Приложение обнаружило iBeacon в фоновом состоянии.
- Извлечение данных изображения из API.
- Запись данных изображения в виде JPEG в папку каталога документов.
- После успешного завершения нажмите LocalNotification с прикрепленным URL-адресом сохраненных изображений.
- LocalNotificationнажал и появился на экране блокировки с отображением сохраненного изображения.
Здесь, FileManager.default.fileExisits()
говорит True.И я подтвердил наличие файлов в ContainerData, загруженных XCode.
Но после этого возникает проблема.
- Нажмите LocalNotification на экране блокировки.
- Вызов приложения
userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void)
- И проверьте прикрепленный URL-адрес сохраненного изображения с помощью
FileManager.default.fileExisits()
- Результат неверен.И эти изображения исчезли.Также подтверждено проверкой ContainerData.
- Не удалось отобразить состояние приложения «Изображение на переднем плане».
Я полностью стекаюсь, чтобы выяснить, почему это происходит ...
I 'мы уже пробовали.
Вот мой код.
// Doing this after fetching image data from API.
// This writing is always Success.
if FileManager.default.fileExists(atPath: fileURL.path) {
print(#function, "FileExsit")
try FileManager.default.removeItem(at: fileURL)
} else {
print(#function, "Not FileExsit")
}
try data.write(to: fileURL)
// Getting DocumentDirectory
public func urlForAdImage(beaconPrimaryID: String) -> URL? {
let directoryURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!.appendingPathComponent("BeaconAds")
var isDir : ObjCBool = false
if FileManager.default.fileExists(atPath: directoryURL.path, isDirectory: &isDir) == false {
do {
try FileManager.default.createDirectory(at: directoryURL, withIntermediateDirectories: true, attributes: nil)
} catch {
print(#function, error)
return nil
}
}
return directoryURL.appendingPathComponent("\(beaconPrimaryID).jpg")
}
Спасибо за чтение.