Я пытаюсь передать данные в базовые данные, когда приложение получает уведомление pu sh, это работает нормально, когда приложение находится в рабочем состоянии с методом ниже
func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void)
{
if let userInfo = notification.request.content.userInfo as? [String : Any]
{
let aps = userInfo["aps"] as? NSDictionary
let alert = aps?["alert"] as? NSDictionary
let context = self.persistentContainer.viewContext
let entity = NSEntityDescription.entity(forEntityName: "NotificationDetails", in: context)
let NotificationDetail = NSManagedObject(entity: entity!, insertInto: context)
NotificationDetail.setValue( incidentDetails.incidentNumber, forKey: "Number")
do {
try context.save()
} catch {
print("Failed saving")
}
}
}
Но когда приложение не работает Я использую метод ниже, это не сохранение,
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void)
{
if let userInfo = notification.request.content.userInfo as? [String : Any]
{
let aps = userInfo["aps"] as? NSDictionary
let alert = aps?["alert"] as? NSDictionary
let context = self.persistentContainer.viewContext
let entity = NSEntityDescription.entity(forEntityName: "NotificationDetails", in: context)
let NotificationDetail = NSManagedObject(entity: entity!, insertInto: context)
NotificationDetail.setValue( incidentDetails.incidentNumber, forKey: "Number")
do {
try context.save()
} catch {
print("Failed saving")
}
}
completionHandler(.newData)
}
Как я могу сохранить данные, когда приложение не работает?