2015-11-10 60 views
0
if (deviceToken == nil) { 
      print("There is no deviceToken saved yet.") 
      let settings = UIUserNotificationSettings(forTypes: [.Alert, .Badge, .Sound], categories: nil) 
      UIApplication.sharedApplication().registerUserNotificationSettings(settings) 
      UIApplication.sharedApplication().registerForRemoteNotifications() 
     } 

这是我的代码许可。ios 9推送通知不显示,而应用程序打开时

+0

究竟是什么问题? – tilo

+0

虽然应用程序处于前台通知状态,但应用程序打开时不显示通知。 –

+0

不检查已保存的'deviceToken',用户可以更改设置,而不是检查权限 – sage444

回答

0

有关说明,同时运行必须使用应用程序的警报视图:

func application(_ application: UIApplication, 
didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) 

通知有效载荷在userInfo变量。你必须决定如何处理它,如何表达等

文件说:

当操作系统提供一个本地通知或远程 通知和目标应用没有运行在前景中,它可以通过警报,图标徽章 号码或声音向用户呈现通知。如果出现通知提醒并且用户点击 或点击操作按钮(或移动操作滑块),则应用程序 将启动并调用传递本地通知对象 或远程通知有效内容的方法。 如果应用程序在交付通知时在前台运行 ,应用程序代理 会收到本地或远程通知

这意味着,当应用程序运行并收到通知时,系统不会显示警报。

+0

这是否会在应用程序的顶部显示通知? –

+0

不,这只发生在应用程序未运行时。当您的应用程序正在运行并且有通知时,您应该如何显示它。因此,您需要实现一个显示其内容的视图。 – RaffAl

+0

我想显示在每个其他应用程序,我们没有当前视图的顶部。 –

3

如果您的应用程序已经打开,则不会显示通知,但应用程序负责更新用户界面或下载新内容。

执行application(_:didReceiveRemoteNotification:fetchCompletionHandler:) 来处理通知,如documentation中所述。在这里,您可以创建一个提醒,显示与收到标准通知时看到的横幅相似的标题和消息。

相关问题