2017-09-06 49 views
0

我知道如何提高本地通知并在其上显示操作。当用户点击行为我能应付下面的方法:是否有可能了解什么时候通知迅速提出3?

func userNotificationCenter(_ center: UNUserNotificationCenter, 
didReceive response: UNNotificationResponse, withCompletionHandler 
completionHandler: @escaping() -> Void) { 
    // Do something here 
    if response.notification.request.content.userInfo["backUp"] { 
    doBackUpHere() 
    // Do other methods 
    } 
} 

然而,我的情况有点不同。在点击它之前或在它的动作(应用程序是前景或背景)之前发出通知时,我需要执行一些功能。其他方法,当用户点击运行通知

func notificationRaised (notification: Notification){ 
    // to do if notification is 
    if notification.userInfo["backUp"] { 
    doBackUpHere() 
    } 
} 

更新

请参阅@Sergey答案,我们的意见,以更好地理解我的提议。

回答

1

如果我正确理解您的问题,您希望在通知到达时执行操作,而无需任何用户输入。如果是这样,我建议你看看silent push notifications in iOS - 不幸的是,他们只是这么做,并没有在用户界面中显示。

您也可以在计时器上尝试本地通知,但请记住,只有当用户点击通知和/或其某个操作时,才能运行代码,因为该应用程序不能保证在显示预定的本地通知。

+0

是的,你正确理解我的问题。 [Apple文档](https://developer.apple.com/library/content/documentation/General/Conceptual/WatchKitProgrammingGuide/BasicSupport.html)表示它仅用于服务器通知。我需要本地通知。我必须打开推送通知,这不是我的目标。 –

+0

@AmirShabani明白了。所以基本上你不能在这里做任何事情,因为当你实际发送通知**时,你永远不会知道你的应用是否还活着。 –

+0

你的意思是在提出通知时没有办法理解?它可以帮助我了解何时提出通知。像Android –

0

你听说过'无声推送通知'?我认为这正是你正在寻找的;)你可以得到这个通知,做你的东西,然后显示本地通知,如果你想。

+0

非常感谢。但是,我发现使用静默推送通知我需要使用推送通知,这不是我的目标。你有无声推送通知的好资源吗? –

相关问题