Получение уведомлений из центра уведомлений по умолчанию, когда приложение в фоновом режиме - PullRequest
0 голосов
/ 23 декабря 2019

В моем приложении я загружаю содержимое ролика камеры с помощью fetchAssets(with:). Чтобы получать сообщения об изменениях, я зарегистрировал своего наблюдателя методом register(_:) библиотеки фотографий. Мой наблюдатель успокаивает протокол PHPhotoLibraryChangeObserver. Поэтому, когда библиотека меняется, я должен получить уведомление об этом. Сценарий, который я хочу поддержать, заключается в том, что пока я запускаю свое приложение, я перехожу в фоновый режим, затем открываю приложение камеры, делаю снимок и возвращаюсь к своему приложению. Можно ли получить уведомление об изменении, которое произошло, когда мое приложение было в фоновом режиме, когда оно возвращается на передний план?

1 Ответ

0 голосов
/ 23 декабря 2019

Да, вы можете создать LocalNotificaion и запускать его, когда приложение переходит в фоновый режим и возвращается на передний план.

func scheduleNotification(timeInter : TimeInterval) {
        let content = UNMutableNotificationContent()
        let userActions = "User Actions"
        content.title = "Title "
        content.body = "Body"
        content.sound = UNNotificationSound.init(named: 
        content.categoryIdentifier = userActions
        content.userInfo = ["MID" : RANDOM_ID, "timeInterval" : String(timeInter)]
        let trigger = UNTimeIntervalNotificationTrigger(timeInterval: timeInter, repeats: false)
        let identifier = String(timeInter)


        let request = UNNotificationRequest(identifier: identifier, content: content, trigger: trigger)
        print(request.identifier)
        notificationCenter.add(request) { (error) in
            if let error = error {

            }
        }
        //  let snoozeAction = UNNotificationAction(identifier: "Snooze", title: "Snooze", options: [])
        let deleteAction = UNNotificationAction(identifier: "Delete", title: "Delete", options: [.destructive])
        let category = UNNotificationCategory(identifier: userActions, actions: [deleteAction], intentIdentifiers: [], options: [])
        notificationCenter.setNotificationCategories([category])
    }
...