我在iPhone上具有与此功能类似的应用程序,但是在watchOS应用程序中使用时失败。当前在InterfaceController中,我有一个成功调用的addNotification函数,如下所示:
func addNotification(content:UNNotificationContent,trigger:UNNotificationTrigger?, indentifier:String){
print("addnotification")
let request = UNNotificationRequest(identifier: indentifier, content: content, trigger: trigger)
UNUserNotificationCenter.current().add(request, withCompletionHandler: {
(errorObject) in
if let error = errorObject{
print("Error \(error.localizedDescription) in notification \(indentifier)")
}
})
}
和两个用这些标头声明的userNotificationCenter函数:
func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void)
func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void)
在此应用程序的iPhone版本上,将调用userNotificationCenter函数并加载通知,但在手表版本上,它们均未听到请求。
我缺少并应该解释有关Apple Watch的UNUserNotificationCenter使用情况是否有所不同?它在文档中说,watchOS和iOS的用法应相同。
谢谢。
edit:它正在连接,但操作不一致(可能是我加载模拟器时每4次就有1次),并且在失败时在同一位置失败(在userNotificationCenter调用处)。这是Apple Watch版本的代码所独有的。