我们希望使用Apple推送通知制作本机应用程序。我们希望使用Apple推送通知制作本机应用程序。问题是我们想要在用户悬停在系统上时自定义系统通知。我们注意到,当您将鼠标悬停在通知上时,Skype可以显示“回复”按钮 有谁知道如何创建像Skype那样的通知? 我们也希望能够进行其他一些修改:
感谢。
更新
我发现Skype不使用APNS来推送新邮件(当Skype没有运行时,当新邮件到达时你不会看到通知)。屏幕上的通知是本地通知。因此,在我使用远程通知的情况下,我忽略远程通知有效负载的alert
密钥,当应用收到远程通知时,它将从Notification Center
中删除此通知并推送新的本地通知。这是代码:
func application(application: NSApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) {
println(userInfo)
// remove the remote one
let deliveredNotifications = NSUserNotificationCenter.defaultUserNotificationCenter().deliveredNotifications
if let lastRemoteNotif = deliveredNotifications.last as? NSUserNotification {
NSUserNotificationCenter.defaultUserNotificationCenter().removeDeliveredNotification(lastRemoteNotif)
}
// push another local notification
let localNotif = NSUserNotification()
localNotif.title = ""
localNotif.deliveryDate = NSDate()
localNotif.title = "CeillingNinja"
localNotif.subtitle = "This is local notification"
localNotif.informativeText = "Some text"
localNotif.contentImage = NSImage(named: "Status")
NSUserNotificationCenter.defaultUserNotificationCenter().deliverNotification(localNotif)
}
但是,当应用未运行时,用户会在Notification Center
中看到空通知。我仍然坚持到那一点!