Używam wersji beta WatchOS 3 i próbuję zainicjować lokalne powiadomienie na zegarku. Interfejs to tylko jeden przycisk, który wywołuje metodę "buttonPushed" w poniższym kodzie. Aplikacja działa dobrze, ale nigdy nie otrzymuję powiadomienia. Struktura aplikacji jest domyślna z Xcode 8 dla aplikacji WatchKit.Powiadomienie lokalne w WatchOS 3
Ten kod jest w pliku InterfaceController.swift przedłużenia WatchKit
jestem brakuje czegoś zupełnie oczywiste?
@IBAction func buttonPushed() {
sendMyNotification()
}
func sendMyNotification(){
if #available(watchOSApplicationExtension 3.0, *) {
let center = UNUserNotificationCenter.current()
center.requestAuthorization(options: [.alert, .sound]) { (granted, error) in
// Enable or disable features based on authorization.
}
let content = UNMutableNotificationContent()
content.title = NSString.localizedUserNotificationString(forKey: "Hello!", arguments: nil)
content.body = NSString.localizedUserNotificationString(forKey: "Hello_message_body", arguments: nil)
content.sound = UNNotificationSound.default()
content.categoryIdentifier = "REMINDER_CATEGORY"
// Deliver the notification in five seconds.
let trigger = UNTimeIntervalNotificationTrigger.init(timeInterval: 5, repeats: false)
let request = UNNotificationRequest.init(identifier: "FiveSecond", content: content, trigger: trigger)
// Schedule the notification.
center.add(request ,withCompletionHandler: nil)
} else {
// Fallback on earlier versions
}
}
Można również stworzyć niepowtarzalny ciąg zidentyfikowanego za pomocą 'niech id = UUID.init(). UuidString' –
Raz w życiu może to być dwa identyczne numery UUID. – Vladimir