4

будет загружать систему с расширением службы уведомлений и называет ее didReceive(_:withContentHandler:) для местных уведомлений в iOS 10? Если да, то как мы можем это сделать?Расширение службы уведомлений для локального уведомления

+0

http://www.appcoda.com/ios10-user-notifications-guide/ –

+0

Принятый здесь ответ представляется неправильным. –

ответ

0

Вам необходимо создать расширение содержания уведомлений для отображения пользовательского уведомления с помощью iOS10. В строке меню Xcode перейдите в меню Файл-> Создать-> Цель. Затем в списке выберите «Расширение содержимого уведомлений». enter image description here

Введите соответствующие данные и нажмите Финский. Появится новая папка с именем вашего расширения. В папке будет 3 файла:

  1. NotificationViewController: Здесь вы можете создать свой собственный интерфейс и реализовать ответы.

  2. MainStoryboard: вы можете использовать это, чтобы создать свое собственное уведомление.

  3. Info.plist

В Info.plist файле, добавьте следующее: enter image description here

Это будет идентификатор категории вы будете использовать в основном проекте при планировании уведомлений.

let category = UNNotificationCategory(identifier: "myNotificationCategory", actions: [], intentIdentifiers:[], options: []) 
      UNUserNotificationCenter.current().setNotificationCategories([category]) 
      content.categoryIdentifier = "myNotificationCategory" 

Класс NotificationViewController должен выглядеть примерно так.

func didReceive(_ notification: UNNotification) { 
     //change properties of notification here. 
    } 

    func didReceive(_ response: UNNotificationResponse, completionHandler completion: @escaping (UNNotificationContentExtensionResponseOption) -> Void) { 
     //implement response logic here. 
    } 

В Интернете есть несколько хороших учебных пособий. Вы можете проверить here, here & here. Надеюсь, это поможет.

+2

Я также хотел бы дать понять, что вопрос заключается в том, можно ли использовать расширение уведомлений для локальных уведомлений. Ну, да, вы можете. – Morgz

+0

@Morgz Я думаю, что мы не можем использовать расширение службы уведомлений для локального уведомления. – nuynait

3

№. Принятый ответ описывает Уведомление Содержание Расширения, которые позволяют вам представлять ViewController в расширенном уведомлении и работать как с удаленным, так и с локальным уведомлением.

Уведомления Service Расширения, которые позволяют изменить содержание уведомления (вставка изображений, и т.д.) делать не работы с местными уведомлениями. Однако вы можете прикреплять изображения как часть процесса, чтобы показать локальное уведомление.

+0

У вас случайно есть документация или ссылка на WWDC, чтобы подтвердить, что это невозможно? –