【发布时间】:2015-08-31 09:40:45
【问题描述】:
当 Apple 的官方 iOS 消息应用程序打开并位于前台时,来自其他联系人的新消息会触发原生 iOS 通知提醒横幅。见下图。
这在 App Store 上的 3rd 方应用程序中是否可行?当您的应用打开并在前台时为您的应用提供本地和/或推送通知?
在测试我的应用时,会收到通知,但没有显示 iOS 警报 UI。
但这种行为在 Apple 的官方消息应用中可见:
Local and Remote Notification Programming Guide 说:
当操作系统发送本地通知或远程通知,而目标应用未在前台运行时,它可以通过警报向用户呈现通知、图标徽章编号或声音。
如果应用在发送通知时在前台运行,则应用委托会收到本地或远程通知。
所以是的,我们可以在前台接收通知数据。但我认为没有办法呈现原生 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 等上建议任何第 3 方“吐司”弹出警报。我只对使用 stock,原生 iOS 本地或推送通知提醒 UI 当您的应用程序打开并在前台时。
【问题讨论】:
标签: ios uikit apple-push-notifications uilocalnotification toast