当Apple的官方iOS消息应用程序处于打开并在前台时,来自其他联系人的新消息会触发一个股票、原生的iOS通知警报横幅。如下图所示。
第三方应用在App Store上是否可以实现此功能?当您的应用程序处于打开并在前台时,是否可以进行本地和/或推送通知?
在测试我的应用程序时,可以收到通知,但没有显示iOS警报UI。
但是,在Apple的官方消息应用程序中,可以看到这种行为:
本地和远程通知编程指南中说:
当操作系统传递本地通知或远程通知且目标应用程序未在前台运行时,它可以通过警报、图标徽章号码或声音向用户呈现通知。
如果应用程序在前台运行时传递通知,则应用程序委托将接收到本地或远程通知。
因此,在前台时,我们可以接收有关通知数据。但我看不到任何方法来显示原生的iOS通知警报UI。
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
// I know we still receive the notification `userInfo` payload in the foreground.
// This question is about displaying the stock iOS notification alert UI.
// Yes, one *could* use a 3rd party toast alert framework.
[self use3rdPartyToastAlertFrameworkFromGithub]
}
那么 Messages 使用私有 API 在前台显示警报吗?
为了这个问题,请不要建议在 GitHub 或其他地方使用任何第三方“toast”弹出警报。我只想知道是否可以使用 原生 iOS 的本地或推送通知警报 UI 在您的应用程序打开并在前台运行时。
application(_:willFinishLaunchingWithOptions:)
或application(_:didFinishLaunchingWithOptions:)
方法中添加UNUserNotificationCenter.current().delegate = self
。 - Deniss Fedotovs