Какой код я пишу для запуска уведомления о наборе часов с самого приложения часов? Например, если я подключу кнопку из раскадровки часов к моему WatchInterfaceController в качестве действия, то при нажатии она вызывает уведомление на часах.Как вызвать WK-уведомление
ответ
Для проверки уведомлений о часах вы должны сначала создать новую схему сборки.
Дублируйте схему приложения часов, а в разделе «Выполнить» выберите свое пользовательское уведомление в качестве исполняемого файла.
Теперь вы можете запустить схему уведомления.
Внутри группы расширений в вашем проекте под поддержкой файлов находится файл PushNotificationPayload.json.
Вы можете редактировать файл полезной нагрузки, чтобы попробовать различные уведомления и категории.
Для запуска уведомления, в первую очередь вам нужно разрешение: (объявившего обычно в ExtensionDelegate)
func askPermission() {
UNUserNotificationCenter.current().requestAuthorization(options: [.badge, .alert,.sound]) { (authBool, error) in
if authBool {
let okAction = UNNotificationAction(identifier: "ok", title: "Ok", options: [])
let category = UNNotificationCategory(identifier: "exampleCategoryIdentifier", actions: [okAction], intentIdentifiers: [], options: [])
UNUserNotificationCenter.current().setNotificationCategories([category])
UNUserNotificationCenter.current().delegate = self
}
}
}
За то, что эту работу, вам нужно импортировать (в ExtensionDelegate) «UserNotifications» и продлить :
UNUserNotificationCenterDelegate
После того, как вы сделали это, вы можете позвонить askPermission где вы хотите, таким образом:
if let delegate = WKExtension.shared().delegate as? ExtensionDelegate {
delegate.askPermission()
}
Теперь у вас есть (надеюсь) разрешение на запуск уведомления! Для запуска уведомления, вы можете использовать функцию следующим образом:
func notification() {
let content = UNMutableNotificationContent()
content.body = "Body Of The Notification"
content.categoryIdentifier = "exampleCategoryIdentifier" // Re-Use the same identifier of the previous category.
content.sound = UNNotificationSound.default() // This is optional
let request = UNNotificationRequest(identifier: NSUUID().uuidString,
content: content,
trigger: nil)
let center = UNUserNotificationCenter.current()
center.add(request) { (error) in
if error != nil {
print(error!)
} else {
print("notification: ok")
}
}
}
Спасибо! Пожалуйста, подумайте о том, чтобы «взглянуть» (lol) на мои оставшиеся без ответа вопросы. Вы можете помочь мне! –
- 1. Как вызвать?
- 2. Как вызвать MethodInfo?
- 3. Как вызвать UIViewController
- 4. как вызвать JQuery плагин
- 5. как вызвать NPP_StreamAsFile
- 6. Как вызвать тревоги
- 7. Как вызвать UIImagePickerControllerSourceTypeCamera непрерывно
- 8. как вызвать asynctask
- 9. Как вызвать метод js_of_ocaml?
- 10. Как вызвать параметр?
- 11. Как вызвать SwingWorker error
- 12. Как вызвать функцию jquery?
- 13. как вызвать функцию javascript
- 14. Как вызвать метод класса?
- 15. Как вызвать глобальную макроперемену
- 16. Как вызвать мой метод
- 17. Как мне вызвать CMSampleBufferGetAudioBufferListWithRetainedBlockBuffer?
- 18. Как вызвать метод MainActivity
- 19. Как вызвать компонент com +?
- 20. Как вызвать импортированный модуль?
- 21. как вызвать функцию javascript?
- 22. Как вызвать URL-адрес
- 23. Как вызвать метод async?
- 24. Как вызвать метод jQuery.sheet.SUM()?
- 25. Как вызвать cplex solver?
- 26. Как правильно вызвать задачу?
- 27. Как вызвать метод java
- 28. Как вызвать функцию рекурсивен
- 29. Как вызвать тайм-аут
- 30. как вызвать метод Handsontable
Спасибо за ваш ответ, но с точки зрения вызова уведомления в нормальных условиях (на реальном устройстве, не связанный с Xcode), что код, который я должен использовать для это должно быть вызвано? –
Это невозможно. Вы должны использовать поставщика удаленных уведомлений, таких как Pusher (что довольно просто реализовать). Поэтому, когда вы идете на свой веб-интерфейс и отправляете уведомление Push, оно появится на всех «подписанных» устройствах. Но это невозможно запустить с помощью кнопки или чего-то подобного. –